Ansible 概念
这些概念在所有 Ansible 使用中都很常见。在使用 Ansible 或阅读文档之前,您应该了解它们。
控制节点
您运行 Ansible CLI 工具(ansible-playbook
、ansible
、ansible-vault
等)的机器。您可以使用任何满足软件要求的计算机作为控制节点——笔记本电脑、共享桌面和服务器都可以运行 Ansible。您也可以在称为 执行环境 的容器中运行 Ansible。
多个控制节点是可能的,但 Ansible 本身不会协调它们,请参阅 AAP
以了解此类功能。
受管节点
也称为“主机”,它们是您希望使用 Ansible 管理的目标设备(服务器、网络设备或任何计算机)。
Ansible 通常不会安装在受管节点上,除非您使用 ansible-pull
,但这很少见,不是推荐的设置。
清单
一个或多个“清单来源”提供的受管节点列表。您的清单可以指定特定于每个节点的信息,例如 IP 地址。它还用于分配组,这些组既允许在任务集中选择节点,也允许批量变量分配。
要详细了解清单,请参阅 使用清单 部分。清单来源文件有时也称为“主机文件”。
剧本
它们包含任务集(它们是 Ansible 执行的基本单位)。这既是“执行概念”,也是我们用来描述 ansible-playbook
操作的文件的方式。
剧本使用 YAML 编写,易于阅读、编写、共享和理解。要详细了解剧本,请参阅 Ansible 剧本。
任务集
Ansible 执行的主要上下文,此剧本对象将受管节点(主机)映射到任务。任务集包含变量、角色和任务的有序列表,可以重复运行。它基本上由一个隐式循环组成,该循环遍历映射的主机和任务,并定义如何迭代它们。
角色
可重用 Ansible 内容(任务、处理程序、变量、插件、模板和文件)的有限分布,用于任务集内部。
要使用任何角色资源,角色本身必须导入到任务集中。
任务
要应用于受管主机的“操作”的定义。您可以使用 ansible
或 ansible-console
(两者都会创建一个虚拟任务集)一次执行单个任务(都会创建一个虚拟任务集)。
处理程序
一种特殊形式的任务,仅在被导致“已更改”状态的先前任务通知时执行。
模块
Ansible 复制到并执行到每个受管节点(如果需要)上的代码或二进制文件,以完成每个任务中定义的操作。
每个模块都有特定的用途,从管理特定类型数据库上的用户到管理特定类型网络设备上的 VLAN 接口。
您可以在任务中调用单个模块,或者在剧本中调用多个不同的模块。Ansible 模块被分组到集合中。要了解 Ansible 包含多少集合,请参阅 集合索引。
插件
扩展 Ansible 核心功能的代码片段。插件可以控制您如何连接到受管节点(连接插件)、操作数据(过滤器插件)甚至控制在控制台中显示的内容(回调插件)。
有关详细信息,请参阅 使用插件。
集合
Ansible 内容以这种格式分发,可以包含剧本、角色、模块和插件。您可以通过 Ansible Galaxy 安装和使用集合。
要详细了解集合,请参阅 使用 Ansible 集合。
集合资源可以彼此独立且离散地使用。