第 1 章 简介
Ansible Playbook 是自动化任务的蓝图,它们是跨解决方案清单执行有限的手动工作的操作。Playbook 告知 Ansible 在哪些设备上执行什么操作。执行 playbook 可为指定类型清单(如一组路由器)自动完成相同的操作,而不是在 IT 环境中手动对数百个或数千个类似技术应用相同的操作。
Playbook 定期用于自动化 IT 基础架构(如操作系统和 Kubernetes 平台网络)、安全系统和代码存储库,如 GitHub。您可以使用 playbook 对应用程序、服务、服务器节点和其他设备进行编程,而无需从头开始创建所有内容的手动开销。Playbook 以及其中的条件、变量和任务都可以保存、共享或无限期地重复使用。这样可以更轻松地整合操作知识,并确保一致执行同样的操作。
1.1. Ansible Playbook 的工作原理? 复制链接链接已复制到粘贴板!
Ansible Playbook 是自动为指定清单或主机组执行的任务列表。可以组合一个或多个 Ansible 任务来制作 play,即映射到特定主机的任务的有序分组。
任务按照写入的顺序执行。
playbook 可以包含一个或多个 play。
playbook 由订购列表中的一个或多个 play 组成。
术语 playbook 和 play 是移植模拟。
每个 play 执行 playbook 的整体目标的一部分,运行一个或多个任务。
每个任务调用一个 Ansible 模块。
- Playbook
- 一个 play 列表,用于定义 Ansible 执行操作的顺序(从上到下)以实现整体目标。
- Play
- 映射到清单中受管节点的任务的有序列表。
- 任务
- 对单个模块的引用,用于定义 Ansible 执行的操作。
- 角色
- 角色是通过将功能放入"库"来重复利用 playbook 中的代码,然后可根据需要用于任何 playbook 中。
- 模块
- Ansible 在受管节点上运行的代码或二进制文件单元。
Ansible 模块分组为集合,每个模块都有一个 完全限定域名 (FQCN)。任务由模块执行,各自在 playbook 中执行特定的任务。模块包含元数据,用于决定任务的执行时间和位置,以及哪个用户执行它。有数千个 Ansible 模块可以执行所有种类的 IT 任务,例如:
- 集群管理
- 用户管理
- 网络
- 安全性
- 配置管理
- 通信