当前位置:主页 > 书籍配套资源 > Ansible配套资源
《吃透Ansible:核心源码剖析与项目实战》源代码

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

  • 更新:2021-12-06
  • 大小:66.5 MB
  • 类别:Ansible
  • 作者:沈聪
  • 出版:机械工业出版社
  • 格式:PDF

  • 资源介绍
  • 相关推荐

吃透Ansible:核心源码剖析与项目实战》从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的Playbook29
  • 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.6102
  • 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 2201
  • 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中的ChangeLog391
  • 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-ansible433
  • 6.4 ceph-ansible项目源码探索446
  • 6.4.1 追踪ceph-mon服务的搭建过程446
  • 6.4.2 在CentOS 7下部署Ceph集群的简化版Playbook469
  • 6.4.3 小结479

资源下载

资源下载地址1:https://pan.baidu.com/s/1U6YD9qPfPqmOAak1IZt0PA

相关资源

网友留言