-
>
全國計算機等級考試最新真考題庫模擬考場及詳解·二級MSOffice高級應用
-
>
決戰行測5000題(言語理解與表達)
-
>
軟件性能測試.分析與調優實踐之路
-
>
第一行代碼Android
-
>
JAVA持續交付
-
>
EXCEL最強教科書(完全版)(全彩印刷)
-
>
深度學習
奔跑吧ANSIBLE(第2版)/探索自動化配置與部署捷徑 版權信息
- ISBN:9787121351440
- 條形碼:9787121351440 ; 978-7-121-35144-0
- 裝幀:簡裝本
- 冊數:暫無
- 重量:暫無
- 所屬分類:>
奔跑吧ANSIBLE(第2版)/探索自動化配置與部署捷徑 本書特色
適讀人群 :軟件開發;系統管理者。在當下百家爭鳴的配置管理工具領域中,Ansible有著獨特的優勢:原生即輕量。你不需要在要管理的機器上安裝任何軟件,并且它的學習曲線非常平緩。在第2版中,不管你是要將代碼部署到生產環境的開發者還是尋求更好的自動化解決方案的系統管理員,這本使用指南都將幫助你快速地在生產環境中使用這個工具。
作者Lorin Hochstein和René Moser示范了如何編寫playbook(Ansible中的配置管理腳本),如何管理遠程服務器。除此之外,他們還會帶領你探索這個工具的潛在法寶:內置模塊。通過閱讀本書,你會發現,Ansible擁有你所需要的功能的同時,還簡單得超出你的想象。
■ 理解Ansible區別于其他配置管理系統的特點
■ 使用YAML語法編寫你自己的playbook
■ 部署一個復雜應用的完整范例
■ 管理Windows服務器和自動化配置網絡設備
■ 將應用部署到AMZN EC2或其他云平臺
■ 使用Ansible創建Docker鏡像并部署Docker容器
建議從頭開始閱讀本書,后面的章節會建立在前面章節的基礎之上。因為它是以教程風格編寫的,所以你可以在自己的機器上跟隨講解一步步操作。并且,大多數實例都與Web應用程序相關,對于生產環境非常有借鑒意義。
奔跑吧ANSIBLE(第2版)/探索自動化配置與部署捷徑 內容簡介
Ansible是近年來急速發展的開源配置管理工具。在Ansible之前,行業中已經有很多開源配置管理工具了,特別是大名鼎鼎的Puppet,簡直是配置管理工具中的不錯明星。然而,Ansible依靠它的簡單易用、“零依賴”以及弱抽象獲得了無數開發者和運維工程師的青睞。遺憾的是,除了官方文檔外,Ansible相關的很好文檔鳳毛麟角,而本書恰恰就是為了緩解這一問題而編寫的。作者在本書中演示了如何使用Ansible管理接近真實生產環境的案例。既展現了Ansible的強大功能,又能夠幫助讀者快速入門與上手,本書很好適合作為官方文檔的補充或者搭配閱讀。特別值得一提的是,本書第2版還增加了管理Windows服務器和網絡設備方面的章節,并重新編寫了Docker相關章節,及時地對版中的不足進行了改進。
奔跑吧ANSIBLE(第2版)/探索自動化配置與部署捷徑 目錄
序 xxiii
第 2版前言. xxv
第 1版前言. xxvii
第 1章 簡介 1
關于版本的說明 2
Ansible的優勢 2
Ansible如何運作 3
Ansible的精妙設計賞析 4
易讀的語法 4
遠程主機無須安裝依賴 5
基于推送模式 5
使用 Ansible管理小規模環境 6
內置模塊 6
非常輕量的抽象層 7
Ansible太過于簡單了嗎 8
需要哪些基礎知識 8
哪些內容不會涉及 9
安裝 Ansible 10
建立一臺用于測試的服務器 11
使用 Vagrant來創建測試服務器 11
將測試服務器的信息配置在 Ansible中 14
使用 ansible.cfg文件來簡化配置 16
展望 19
第 2章 playbook:一切的開始. 20
一些準備工作 20
一個簡單的 playbook 21
定義 Nginx的配置文件 23
創建一個定制的首頁 24
創建一個 webservers群組 25
運行這個 playbook 25
YAML格式的 playbook 27
文件起始 27
注釋 27
字符串 27
布爾型 28
列表 28
字典 28
分行 29
剖析 playbook 30
play 31
task 32
模塊 33
將它們整合在一起 34
執行 Ansible后發生變化了嗎?跟蹤主機狀態 35
來點更酷炫的:添加 TLS支持 35
生成 TLS證書 36
變量 37
生成 Nginx配置模板 .. 39
handler 41
運行 playbook 42
第 3章 使用 inventory描述你的服務器 44
inventory文件 44
準備工作:創建多臺 Vagrant虛擬機 45
inventory 行為參數 48
ansible_connection 49
ansible_shell_type 49
ansible_python_interpreter 49
ansible_*_interpreter 49
改變行為參數的默認值 50
群組 50
范例:部署一個 Django應用 51
別名和端口 54
群組的群組 54
為主機編號(寵物還是公牛 ) 55
在 inventory內部的主機和組變量 55
在各自文件中的主機和組變量 57
動態 inventory 59
動態 inventory腳本接口 60
編寫動態 inventory腳本 61
預裝 inventory腳本 65
將 inventory分割到多個文件 65
使用 add_host和 group_by在運行時添加條目 65
add_host 65
group_by 67
第 4章 變量與 fact 69
在 playbook中定義變量 69
檢查變量的值 70
registering 變量 70
fact 74
查看與某臺服務器關聯的所有 fact 75
查看 fact子集 75
任何模塊都可以返回 fact 77
本地 fact 77
使用 set_fact定義新變量 79
內置變量 79
hostvars 80
inventory_hostname 80
groups 81
在命令行設置變量 81
優先級 82
第 5章 引入測試應用:Mezzanine 84
為什么向生產環境部署軟件是一件復雜的事 84
PostgreSQL:數據庫 88
Gunicorn:應用服務器 88
Nginx:Web服務器 89
Supervisor:進程管理器 90
第 6章 使用 Ansible部署 Mezzanine 91
列出 playbook中的 task 91
組織要部署的文件 92
變量和秘密變量 93
使用迭代(with_items)安裝多個軟件包 95
向任務中添加 Become語句 96
更新 apt緩存 97
使用 Git獲取項目源碼 98
將 Mezzanine和其他軟件包安裝到 virtualenv中 100
任務中的復雜參數:稍微跑個題 103
配置數據庫 106
從模板生成 local_settings.py文件 107
運行 django-manage命令 . 110
在應用環境中運行定制的 Python腳本 111
設置服務配置文件 114
啟用 Nginx配置文件 117
安裝 TLS證書 117
安裝 Twitter計劃任務 119
playbook全文 119
在 Vagrant虛擬機上運行 playbook 123
故障排查 124
無法拉取 Git倉庫代碼 124
192.168.33.10.xip.io地址不可達 124
錯誤的請求(400) 125
將 Mezzanine部署到多臺主機 125
第 7章 role:擴展你的 playbook 126
role的基本構成 126
范例: database和 mezzanine role 127
在你的 playbook中使用 role 127
pre-tasks和 post-tasks 129
用于部署數據庫的 database role 130
用于部署 Mezzanine的 mezzanine role 132
使用 ansible-galaxy創建 role文件與目錄 137
從屬 role 138
Ansible Galaxy 139
Web界面 139
命令行工具 139
將你自己的 role發布到 Galaxy 140
第 8章 復雜的 playbook 141
處理不良行為的命令: changed_when和 failed_when . 141
過濾器 145
默認過濾器 145
用于注冊變量的過濾器 145
應用于文件路徑的過濾器 146
編寫你自己的過濾器 . 147
lookup 148
file 149
pipe 150
env 150
password 150
template 151
csvfile 151
dnstxt 152
redis_kv 153
etcd 154
編寫你自己的 lookup插件 155
更復雜的循環 155
with_lines 156
with_fileglob 156
with_dict 157
將循環結構用作 lookup插件 158
循環控制 158
設置變量名稱 158
為輸出增加標簽 160
include 161
動態引用 162
role include 162
block 164
利用 block進行異常處理 164
使用 Vault加密敏感數據 168
第 9章 自定義host、run和 handler. 170
通過模式匹配指定主機 170
限制運行的主機 171
在控制主機上運行 task 171
在涉及的主機以外的機器上運行 task 172
逐臺主機運行 173
一次運行一批主機 174
只執行一次 175
運行策略 175
linear策略 176
free策略 177
高級 handler 179
Pre和 Post task中的 handler 179
flush handler 180
handlers listen 182
手動采集 fact 188
從主機獲取 IP地址 189
第 10章 回調插件. 191
stdout插件 191
actionable 插件 192
debug插件 192
dense插件 193
json插件 193
minimal插件 194
oneline插件 195
selective 插件 195
skippy插件 195
其他插件 195
foreman插件 196
hipchat插件 196
jabber插件 197
junit插件 197
log_plays插件 198
logentries插件 198
logstash插件 198
mail插件 199
osx_say插件 199
profile_tasks插件 199
slack插件 200
timer插件 200
第 11章 讓 Ansible快到飛起..201
SSH多路復用以及長連接保持 201
手動啟動 SSH多路復用 202
Ansible中的 SSH多路復用配置 203
流水線 205
啟用流水線 205
將主機配置為支持流水線 205
fact緩存 207
JSON文件作為 fact緩存后端 208
Redis作為 fact緩存后端 209
Memcached作為 fact緩存后端 209
并行 210
異步執行并發任務 211
第 12章 自定制模塊 213
范例:檢測遠程服務器是否可達 213
使用 script模塊而不是自己寫模塊 213
實現 can_reach模塊 214
在哪里放置自定制模塊 214
Ansible如何調用模塊 215
用參數生成一個獨立的 Python腳本(只限于 Python模塊) 215
將模塊復制到服務器 . 215
在服務器上創建一個參數文件(只限于非 Python模塊) 215
調用模塊 216
期望輸出 216
Ansible的輸出變量 217
用 Python實現模塊 217
解析參數 219
獲取參數的值 220
導入 AnsibleModule輔助類 220
參數選項 221
AnsibleModule的初始化參數 223
返回成功或失敗 227
調用外部命令 227
檢查模式 (演習模式 ) 229
文檔化你的模塊 230
調試模塊 231
使用 Bash實現模塊 233
指定 Bash的解釋器路徑 234
示例模塊 235
第 13章 Vagrant 236
Vagrant的便捷配置選項 236
端口轉發和私有 IP地址 236
代理轉發 238
Ansible置備器 238
置備器何時運行 239
由 Vagrant生成 inventory . 239
并行配置 240
指定群組 241
Ansible本地置備器 242
第 14章 Amazon.EC2. 244
術語 246
實例 246
Amazon 系統鏡像 246
標簽 247
指定認證憑據 247
環境變量 248
配置文件 248
必要條件: Boto Python 庫 249
動態 inventory 249
inventory 緩存 251
其他配置項 252
自動生成群組 252
使用標簽定義動態群組 253
把標簽應用到現有資源 253
更好聽的群組名 254
EC2 Virtual Private Cloud和 EC2 Classic 255
配置 ansible.cfg 支持使用 EC2 256
啟動新的實例 256
EC2 密鑰對 258
創建新的密鑰 258
上傳已有密鑰 260
安全組 260
允許的 IP 地址 261
安全組端口 262
獲取*新的 AMI 262
向群組中添加一個新的實例 264
等待服務器啟動 266
創建實例的冪等性方法 267
全部加在一起 267
指定 Virtual Private Cloud 270
動態 inventory和 VPC 274
構建 AMI 274
使用 ec2_ami模塊 274
使用 Packer 275
其他模塊 279
第 15章 Docker 280
Docker與 Ansible配合案例 281
Docker應用的生命周期 282
樣例應用: Ghost 283
連接到 Docker Daemon 283
在本地機器上運行容器 283
從 Dockerfile 構建鏡像 284
在本機上對多個容器進行編排 286
推送鏡像到 Docker registry 287
查詢本地鏡像 289
部署 Docker化的應用 291
后端: Postgres 291
前端 292
前端: Ghost 293
前端: Nginx 293
清除容器 294
直連容器 294
Ansible Container 296
Conductor 296
創建 Docker鏡像 297
本地運行 301
發布鏡像到 registry 302
將容器部署到生產環境 303
第 16章 調試 Ansible.playbook. 304
人類可讀的錯誤信息 304
調試 SSH問題 305
debug模塊 307
playbook調試器 307
assert模塊 309
在執行前檢查你的 playbook 311
語法檢查 311
列出 host 311
列出 task 312
檢測模式 312
顯示文件變化 313
限制指定的 task運行 313
step 313
start-at-task 314
tags 314
第 17章 管理 Windows主機..316
連接到 Windows 316
PowerShell 317
Windows 模塊 320
**個 playbook 320
升級 Windows 321
添加本地用戶 323
結論 326
第 18章 使用 Ansible管理網絡設備 327
第 19章 Ansible.Tower:Ansible企業版. 346
(篇幅有限,完整目錄請見本書)
奔跑吧ANSIBLE(第2版)/探索自動化配置與部署捷徑 作者簡介
Lorin Hochstein Lorin Hochestin是Netflix的Chaos工程團隊的高級軟件工程師。他曾在SendGrid實驗室擔任高級軟件工程師,在那之前曾在Nimbis Services擔任云服務首席架構師,還曾經是加州大學信息科學院的計算機科學家。從小在魁北克蒙特利爾長大,除了偶爾會說“閉上燈”這種話之外,從他的口音中你絕對猜不出他是加拿大人。他正在回歸學術界:他已經在內布拉斯加大學林肯分校作為教授計算機科學與應用的副教授兩年。此外,他還曾作為計算機科學家在南加州大學信息科學院工作過四年。他在麥吉爾大學取得了計算機工程學學士學位,在波士頓大學取得了電子工程學碩士學位,并在馬里蘭大學帕克分校取得了計算機科學的博士學位。他現在在Netflix 的Chaos 工程團隊任高級軟件工程師。
René Moser 是一位瑞士籍系統工程師,ASF CloudStack的代碼貢獻者,Ansible中與CloudStack集成相關部分的作者,并從2016年起一直是Ansible社區的核心成員。與妻子和三個孩子定居在瑞士。他獲得了IT 專業的高等教育文憑。在IT 領域,他喜歡以簡單的方式實現需求并不斷擴展。他沉浸于開源社區已超過15 年,他是Ansible 核心貢獻者和40 多個Ansible 模塊的作者,他還是Apache CloudStack 項目管理委員會成員及代碼貢獻者。他目前在SWISS TXT 任職系統工程師。
譯者簡介
主譯人員曾于新浪任職技術總監,負責私有云平臺研發與運維并支撐新浪微博從零至上市高速發展的過程。后于華為任職技術專家,致力于提升華為公有云運維能力。2016年加入貝殼找房前身鏈家網,并一直致力于打造基于ansible的自動化平臺。
- >
苦雨齋序跋文-周作人自編集
- >
推拿
- >
中國人在烏蘇里邊疆區:歷史與人類學概述
- >
回憶愛瑪儂
- >
我與地壇
- >
李白與唐代文化
- >
詩經-先民的歌唱
- >
人文閱讀與收藏·良友文學叢書:一天的工作