《Ansible快速入門:技術原理與實戰(zhàn)》以新的自動化運維工具Ansible為主要內容,側重于實戰(zhàn),由淺入深地介紹了Ansible以及周邊產品Ansible Galaxy和Ansible Tower的用法。本書共計6章,前4章由淺及深、層層遞進地介紹了Ansible的使用方法。第5章著重介紹了Ansible的代碼分享機制role以及其分享平臺Ansible Galaxy。第6章概括性地介紹了企業(yè)級軟件Ansible Tower。全書的敘述風格通俗易懂,沒有過多地引入復雜的概念,側重于講解原理,立足于實戰(zhàn),引領Ansible新手輕松入門。
Ansible是近幾年出現(xiàn)的新的自動化運維工具,可以對機群進行軟件安裝、配置和應用部署,而《Ansible快速入門:技術原理與實戰(zhàn)》是一本Ansible入門書籍,煉了Ansible中的精華,側重于實戰(zhàn),全書代碼均實測過,是一本不可多得的Ansible入門書。
第1章 Ansible介紹
1.1 Ansible介紹
1.2 Ansible解決了什么運維痛點
1.3 架構
1.3.1 Ansible的架構
1.3.2 Ansible Tower的架構
第2章 Ansible入門
2.1 安裝Ansible
2.1.1 在管理員的電腦上安裝
2.1.2 被管理的遠程主機
2.2 Ansible管理哪些主機
2.2.1 什么是主機目錄
2.2.2 主機目錄配置文件
2.3 Ansible用命令管理主機
2.3.1 Ansible命令的格式
2.3.2 Ansible命令的功能
2.4 Ansible用腳本管理主機
2.4.1 執(zhí)行腳本Playbook的方法
2.4.2 Playbook的例子
2.4.3 Play和Playbook
2.5 Ansible模塊
2.5.1 什么是Ansible模塊
2.5.2 在命令行里使用模塊
2.5.3 在Playbook腳本中使用模塊
2.5.4 Ansible模塊的特點
2.5.5 常用模塊
第3章 Ansible進階
3.1 Ansible的配置
3.1.1 可以配置什么
3.1.2 Ansible配置文件的優(yōu)先級
3.2 主機清單
3.2.1 遠程主機的分組
3.2.2 設置連接參數
3.2.3 變量
3.3 Ansible的腳本Playbook
3.3.1 Playbook的文件格式YAML
3.3.2 執(zhí)行Playbook的命令
3.3.3 Playbook的基本語法
3.3.4 變量
3.3.5 Playbook也有邏輯控制語句
3.3.6 重用Playbook
3.3.7 用標簽,實現(xiàn)執(zhí)行Playbook中的部分任務
3.4 更多的Ansible模塊
3.4.1 模塊的分類
3.4.2 Extra模塊的使用方法
3.4.3 命令行查看模塊的用法
3.5 最佳使用方法
3.5.1 寫Playbook的原則
3.5.2 參考別人的Playbook
第4章 Ansible Playbook雜談
4.1 再談Ansible變量
4.1.1 變量的作用域
4.1.2 變量的優(yōu)先級
4.2 使用lookup訪問外部文件或數據庫中的數據
4.2.1 lookup讀取文件
4.2.2 lookup生成隨機密碼
4.2.3 lookup讀取環(huán)境變量
4.2.4 lookup讀取Linux命令的執(zhí)行結果
4.2.5 lookup讀取template變量替換后的文件
4.2.6 lookup讀取配置文件
4.2.7 lookup讀取CSV文件的指定單元
4.2.8 lookup讀取DNS解析的值
4.2.9 更多的lookup功能
4.3 過濾器
4.3.1 過濾器使用的位置
4.3.2 過濾器對普通變量的操作
4.3.3 過濾器對文件路徑的操作
4.3.4 過濾器對字符串變量的操作
4.3.5 過濾器對JSON的操作
4.3.6 過濾器對數據結構的操作
4.3.7 過濾器的鏈式/連續(xù)使用
4.4 測試變量或表達式是否符合條件
4.4.1 測試字符串
4.4.2 比較版本
4.4.3 測試List的包含關系
4.4.4 測試文件路徑
4.4.5 測試任務的執(zhí)行結果
4.5 認識插件
4.5.1 插件類型
4.5.2 常用的插件介紹
第5章 role和Ansible Galaxy
5.1 role和Ansible Galaxy的簡要介紹
5.1.1 role
5.1.2 Ansible Galaxy
5.2 role的放置位置
5.2.1 當前目錄的roles文件夾下
5.2.2 環(huán)境變量ANSIBLE_ROLES_PATH定義的文件夾
5.2.3 Ansible配置文件中roles_path定義的文件夾
5.2.4 默認文件夾/etc/ansible/roles
5.3 在Playbook中如何調用role
5.3.1 調用最簡單的role
5.3.2 通過pre_tasks和post_tasks調整role和任務的順序
5.3.3 調用帶有參數的role
5.3.4 與when一起使用role
5.4 如何寫role
5.4.1 role的完整定義
5.4.2 默認變量和普通變量的區(qū)別
5.4.3 tasks/main.yml如何使用變量、靜態(tài)文件和模板
5.5 role的依賴
5.6 Ansible Galaxy網站介紹
5.6.1 從Ansible Galaxy網站上下載role
5.6.2 分享你的role
5.7 演示role的創(chuàng)建和分享
5.7.1 改造單個的Playbook為role
5.7.2 在Ansible Galaxy中分享role
第6章 Ansible Tower
6.1 為什么要用Ansible Tower
6.1.1 Ansible和Tower的用戶視角架構圖
6.1.2 Ansible Tower的主要功能
6.2 如何使用Ansible Tower
6.2.1 安裝方法
6.2.2 使用方法
6.2.3 總結
6.3 與第三方平臺的整合
6.3.1 Ansible Tower API
6.3.2 Ansible Tower提供的命令行工具
附錄A