《吃透Ansible》是由2021年7月機械工業出版社出版的圖書,作者是沈聰。
基本介紹
- 中文名:吃透Ansible
- 作者:沈聰
- 出版時間:2021年7月
- 出版社:機械工業出版社
- ISBN:9787111685807
作品簡介,作品目錄,
作品簡介
本書主要介紹Ansible的核心源碼與Playbook項目實戰,共分為6章。第1章剖析Ansible1.1的源碼,重點分析Ansible1.1的底層通信機制及其模組運行原理。第2章剖析Ansible1.9.6的源碼,並對比它與Ansible1.1源碼的不同之處,另外還會重點分析Playbook的執行邏輯。第3章介紹Ansible2.8中部分核心模組的使用並剖析其源碼,同時還會介紹Playbook的常用語法。第4章剖析Ansible2.8的核心源碼。首先進行基礎功能模組的源碼分析,如常量值定義、inventory檔案解析和模板渲染等,接著對Ansible2.8中模組運行的全流程及劇本集的運行源碼進行跟蹤和分析。第5章深入學習Ansible源碼,主要通過小版本的源碼對比和GitHub上相關源碼的Bug溯源兩種方式,幫助讀者熟悉深入學習Ansible源碼的方式。第6章主要介紹基於Ansible的經典項目——ceph-ansible,並對該項目進行改造和最佳化。
作品目錄
前言
第1章 Ansible 1.1源碼剖析
1.1 Ansible 1.1的環境搭建
1.1.1 Ansible 1.1測試環境搭建
1.1.2 Ansible 1.1調試環境搭建
1.2 Ansible 1.1的基本使用
1.2.1 Ansible 1.1模組說明
1.2.2 Ansible 1.1的常用模組
1.2.3 編寫Ansible 1.1的Playbook
1.2.4 小結
1.3 Ansible 1.1源碼概覽
1.3.1 非源碼檔案與目錄
1.3.2 源碼檔案
1.3.3 小結
1.4 Ansible 1.1底層通信代碼解析
1.4.1 本地連線外掛程式
1.4.2 基於paramiko模組連線外掛程式
1.4.3 基於SSH命令連線外掛程式
1.4.4 小結
1.5 ping模組的執行流程
1.5.1 ansible命令
1.5.2 runner目錄下的核心源碼
1.5.3 ping模組的運行流程
1.6 copy模組的執行流程
1.6.1 copy模組的動作外掛程式
1.6.2 copy模組遺留問題的解決
1.6.3 Ansible模組的核心步驟小結
1.7 本章小結
第2章 Ansible 1.9.6源碼剖析
2.1 Ansible 1.1和Ansible 1.9.6源碼對比
2.2 快速上手Ansible 1.9.6
2.2.1 搭建Ansible 1.9.6測試環境
2.2.2 Ansible 1.9.6中的部分模組剖析
2.2.3 Ansible 1.9.6中Playbook的常用語法
2.3 再探Ansible 1.9.6源碼
2.3.1 cache模組
2.3.2 shell_plugins外掛程式
2.3.3 filter_plugins外掛程式
2.3.4 lookup_plugins外掛程式
2.3.5 輔助模組代碼
2.4 追蹤Ansible 1.9.6的模組運行機制
2.4.1 inventory目錄
2.4.2 Runner類及其方法
2.5 解析Playbook的運行邏輯
2.5.1 準備測試的Playbook項目
2.5.2 相關類基礎
2.5.3 追蹤ansible-playbook命令的運行流程
2.6 本章小結
第3章 Ansible 2常用模組與Playbook語法
3.1 快速上手Ansible 2
3.2 Ansible 2的命令行使用
3.2.1 Ansible 2支持的常見選項
3.2.2 Ansible 2中的常用模組及其源碼解析
3.2.3 Ansible 2模組的學習建議
3.3 Ansible 2中的Playbook語法
3.3.1 變數
3.3.2 條件判斷
3.3.3 循環語句
3.3.4 等待語句
3.4 本章小結
第4章 Ansible 2核心源碼剖析
4.1 Ansible 2.8核心源碼初探
4.1.1 日誌列印
4.1.2 默認配置
4.1.3 inventory檔案解析
4.1.4 模板渲染
4.1.5 外掛程式
4.2 Ansible 2.8模組運行的核心流程分析
4.2.1 命令入口
4.2.2 核心運行模組
4.2.3 流程總結
4.3 Ansible 2.8中Playbook的執行流程追蹤
4.3.1 Playbook命令執行入口
4.3.2 核心代碼追蹤
4.3.3 Playbook中部分語法的源碼解析
4.4 本章小結
第5章 Ansible源碼的演進跟蹤
5.1 Ansible 1.1到Ansible 1.2的演進之路
5.2 Ansible 2.8中的部分Bug溯源
5.2.1 Ansible 2.8中的ChangeLog
5.2.2 Ansible 2.8中的Bug復現及其修復過程
5.3 如何更深入地學習Ansible源碼
第6章 Playbook項目實戰
6.1 ceph-ansible項目介紹
6.2 ceph-ansible實戰
6.2.1 使用ceph-ansible部署Ceph集群
6.2.2 ceph-ansible的其他功能
6.3 一個真實場景的改造
6.3.1 業務需求
6.3.2 手工實現
6.3.3 改造ceph-ansible
6.4 ceph-ansible項目源碼探索
6.4.1 追蹤ceph-mon服務的搭建過程
6.4.2 在CentOS 7下部署Ceph集群的簡化版Playbook
6.4.3 小結