第 1章 Ansible介绍 1
1.1 Ansible介绍 2
1.2 Ansible解决了什么运维痛点 2
1.3 架构 2
1.3.1 Ansible的架构 2
1.3.2 Ansible Tower的架构 4
第 2章 Ansible入门 6
2.1 安装 Ansible7
2.1.1 在管理员的电脑上安装 7
2.1.2 被管理的远程主机 7
2.2 Ansible管理哪些主机 8
2.2.1 什么是主机目录 8
2.2.2 主机目录配置文件 8
2.3 Ansible用命令管理主机 9
2.3.1 Ansible命令的格式 9
2.3.2 Ansible命令的功能 9
2.4 Ansible用脚本管理主机 10
2.4.1 执行脚本 Playbook的方法 11
2.4.2 Playbook的例子 11
2.4.3 Play和 Playbook 13
2.5 Ansible模块 14
2.5.1 什么是 Ansible模块 14
2.5.2 在命令行里使用模块 15
2.5.3 在 Playbook脚本中使用模块 15
2.5.4 Ansible模块的特点. 15
2.5.5 常用模块 16
第 3章 Ansible进阶30
3.1 Ansible的配置 31
3.1.1 可以配置什么 31
3.1.2 Ansible配置文件的优先级 31
3.2 主机清单 32
3.2.1 远程主机的分组 33
3.2.2 设置连接参数 34
3.2.3 变量 34
3.3 Ansible的脚本 Playbook. 36
3.3.1 Playbook的文件格式 YAML. 36
3.3.2 执行 Playbook的命令 37
3.3.3 Playbook的基本语法 38
3.3.4 变量 45
3.3.5 Playbook也有逻辑控制语句 53
3.3.6 重用 Playbook. 58
3.3.7 用标签,实现执行 Playbook中的部分任务 66
3.4 更多的 Ansible模块 69
3.4.1 模块的分类 69
3.4.2 Extra模块的使用方法 70
3.4.3 命令行查看模块的用法 71
3.5 昀佳使用方法 71
3.5.1 写 Playbook的原则. 71
3.5.2 参考别人的 Playbook. 72
第 4章 Ansible Playbook杂谈 73
4.1 再谈 Ansible变量 74
4.1.1 变量的作用域 74
4.1.2 变量的优先级 74
4.2 使用 lookup访问外部文件或数据库中的数据 80
4.2.1 lookup读取文件 81
4.2.2 lookup生成随机密码 81
4.2.3 lookup读取环境变量 82
4.2.4 lookup读取 Linux命令的执行结果 83
4.2.5 lookup读取 template变量替换后的文件 83
4.2.6 lookup读取配置文件 84
4.2.7 lookup读取 CSV文件的指定单元 86
4.2.8 lookup读取 DNS解析的值 87
4.2.9 更多的 lookup功能 91
4.3 过滤器 91
4.3.1 过滤器使用的位置 91
4.3.2 过滤器对普通变量的操作 92
4.3.3 过滤器对文件路径的操作 96
4.3.4 过滤器对字符串变量的操作 99
4.3.5 过滤器对 JSON的操作 106
4.3.6 过滤器对数据结构的操作 109
4.3.7 过滤器的链式 /连续使用111
4.4 测试变量或表达式是否符合条件 111
4.4.1 测试字符串 112
4.4.2 比较版本 113
4.4.3 测试 List的包含关系 113
4.4.4 测试文件路径 114
4.4.5 测试任务的执行结果 115
4.5 认识插件 117
4.5.1 插件类型 118
4.5.2 常用的插件介绍 119
第 5章 role和 Ansible Galaxy123
5.1 role和 Ansible Galaxy的简要介绍 124
5.1.1 role 124
5.1.2 Ansible Galaxy. 124
5.2 role的放置位置 124
5.2.1 当前目录的 roles文件夹下 124
5.2.2 环境变量 ANSIBLE_ROLES_PATH定义的文件夹 125
5.2.3 Ansible配置文件中 roles_path定义的文件夹 125
5.2.4 默认文件夹 /etc/ansible/roles 125
5.3 在 Playbook中如何调用 role. 126
5.3.1 调用昀简单的 role. 126
5.3.2 通过 pre_tasks和 post_tasks调整 role和任务的顺序 127
5.3.3 调用带有参数的 role 129
5.3.4 与 when一起使用 role 129
5.4 如何写 role 130
5.4.1 role的完整定义 130
5.4.2 默认变量和普通变量的区别 131
5.4.3 tasks/main.yml如何使用变量、静态文件和模板 132
5.5 role的依赖 134
5.6 Ansible Galaxy网站介绍 136
5.6.1 从 Ansible Galaxy网站上下载 role 136
5.6.2 分享你的 role 139
5.7 演示 role的创建和分享 139
5.7.1 改造单个的 Playbook为 role 141
5.7.2 在 Ansible Galaxy中分享 role 144
第 6章 Ansible Tower145
6.1 为什么要用 Ansible Tower 146
6.1.1 Ansible和 Tower的用户视角架构图 146
6.1.2 Ansible Tower的主要功能 147
6.2 如何使用 Ansible Tower 149
6.2.1 安装方法 149
6.2.2 使用方法 152
6.2.3 总结 161
6.3 与第三方平台的整合 163
6.3.1 Ansible Tower API 163
6.3.2 Ansible Tower提供的命令行工具 164
附录 A 166
· · · · · · (
收起)