吃透Ansible:核心源码剖析与项目实战

作者
沈聪
丛书名
出版社
机械工业出版社
ISBN
9787111685807
简要
简介
内容简介书籍计算机书籍 本书从Ansible的模块运行以及Playbook的解析和执行两个方面剖析了三个版本的Ansible源码。此外,还优化和改造了用于部署Ceph集群的ceph-ansible项目。 本书共6章,第1章介绍Ansible 1.1的底层通信机制和模块运行原理;第2章在第1章的基础上剖析Ansible 1.9.6的源码;第3章介绍Ansible 2.8中的部分核心模块及Playbook的常用语法;第4章介绍Ansible 2.8中的核心源码并完整跟踪模块运行的全过程;第5章以小版本的源码对比及GitHub上的Bug溯源两种方式探讨深入学习Ansible源码的方式;第6章介绍基于Ansible的Playbook项目ceph-ansible。 本书适合初级和中级Python程序员阅读,也适合运维开发工程师和Ansible爱好者阅读。
目录
前言
第1章 Ansible 1.1源码剖析 1
1.1 Ansible 1.1的环境搭建 1
1.1.1 Ansible 1.1测试环境搭建 1
1.1.2 Ansible 1.1调试环境搭建 5
1.2 Ansible 1.1的基本使用 9
1.2.1 Ansible 1.1模块说明 9
1.2.2 Ansible 1.1的常用模块 10
1.2.3 编写Ansible 1.1的Playbook 29
1.2.4 小结 31
1.3 Ansible 1.1源码概览 31
1.3.1 非源码文件与 31
1.3.2 源码文件 32
1.3.3 小结 45
1.4 Ansible 1.1底层通信代码解析 46
1.4.1 本地连接插件 46
1.4.2 基于paramiko模块连接插件 53
1.4.3 基于SSH命令连接插件 61
1.4.4 小结 68
1.5 ping模块的执行流程 68
1.5.1 ansible命令 68
1.5.2 runner下的核心源码 71
1.5.3 ping模块的运行流程 84
1.6 copy模块的执行流程 94
1.6.1 copy模块的动作插件 94
1.6.2 copy模块遗留问题的解决 96
1.6.3 Ansible模块的核心步骤小结 99
1.7 本章小结 100
第2章 Ansible 1.9.6源码剖析 101
2.1 Ansible 1.1和Ansible 1.9.6源码对比 101
2.2 快速上手Ansible 1.9.6 102
2.2.1 搭建Ansible 1.9.6测试环境 102
2.2.2 Ansible 1.9.6中的部分模块剖析 103
2.2.3 Ansible 1.9.6中Playbook的常用语法 125
2.3 再探Ansible 1.9.6源码 134
2.3.1 cache模块 134
2.3.2 shell_plugins插件 138
2.3.3 filter_plugins插件 142
2.3.4 lookup_plugins插件 145
2.3.5 辅助模块代码 148
2.4 追踪Ansible 1.9.6的模块运行机制 155
2.4.1 inventory 155
2.4.2 Runner类及其方法 157
2.5 解析Playbook的运行逻辑 171
2.5.1 准备测试的Playbook项目 171
2.5.2 相关类基础 174
2.5.3 追踪ansible-playbook命令的运行流程 187
2.6 本章小结 200
第3章 Ansible 2常用模块与Playbook语法 201
3.1 快速上手Ansible 2 201
3.2 Ansible 2的命令行使用 203
3.2.1 Ansible 2支持的常见选项 203
3.2.2 Ansible 2中的常用模块及其源码解析 215
3.2.3 Ansible 2模块的学习建议 241
3.3 Ansible 2中的Playbook语法 243
3.3.1 变量 243
3.3.2 条件判断 248
3.3.3 循环语句 251
3.3.4 等待语句 256
3.4 本章小结 260
第4章 Ansible 2核心源码剖析 261
4.1 Ansible 2.8核心源码初探 261
4.1.1 日志打印 261
4.1.2 默认配置 262
4.1.3 inventory文件解析 270
4.1.4 模板渲染 289
4.1.5 插件 303
4.2 Ansible 2.8模块运行的核心流程分析 305
4.2.1 命令入口 306
4.2.2 核心运行模块 308
4.2.3 流程总结 354
4.3 Ansible 2.8中Playbook的执行流程追踪 355
4.3.1 Playbook命令执行入口 355
4.3.2 核心代码追踪 356
4.3.3 Playbook中部分语法的源码解析 363
4.4 本章小结 371
第5章 Ansible源码的演进跟踪 372
5.1 Ansible 1.1到Ansible 1.2的演进之路 372
5.2 Ansible 2.8中的部分Bug溯源 391
5.2.1 Ansible 2.8中的ChangeLog 391
5.2.2 Ansible 2.8中的Bug复现及其修复过程 394
5.3 如何更深入地学习Ansible源码 416
第6章 Playbook项目实战 417
6.1 ceph-ansible项目介绍 417
6.2 ceph-ansible实战 418
6.2.1 使用ceph-ansible部署Ceph集群 418
6.2.2 ceph-ansible的其他功能 425
6.3 一个真实场景的改造 429
6.3.1 业务需求 429
6.3.2 手工实现 430
6.3.3 改造ceph-ansible 433
6.4 ceph-ansible项目源码探索 446
6.4.1 追踪ceph-mon服务的搭建过程 446
6.4.2 在CentOS 7下部署Ceph集群的简化版Playbook 469
6.4.3 小结 479


推荐

车牌查询
桂ICP备20004708号-3