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