Ansible 概念

这些概念在所有 Ansible 使用场景中都是通用的。在使用 Ansible 或阅读文档之前,您应该理解它们。

控制节点

您运行 Ansible CLI 工具(ansible-playbookansibleansible-vault 等)的机器。您可以使用任何满足软件要求的计算机作为控制节点 - 笔记本电脑、共享桌面和服务器都可以运行 Ansible。您也可以在称为 执行环境 的容器中运行 Ansible。

多个控制节点是可能的,但 Ansible 本身不会在它们之间进行协调,请参见 AAP 以了解此类功能。

受管节点

也称为“主机”,这些是您希望使用 Ansible 管理的目标设备(服务器、网络设备或任何计算机)。

通常不会在受管节点上安装 Ansible,除非您使用 ansible-pull,但这很少见,也不是推荐的设置。

清单

由一个或多个“清单源”提供的受管节点列表。您的清单可以指定特定于每个节点的信息,例如 IP 地址。它还用于分配组,这些组既可以允许在任务集中选择节点,也可以进行批量变量分配。

要了解更多关于清单的信息,请参见 使用清单 部分。有时清单源文件也被称为“主机文件”。

剧本

它们包含任务集(它是 Ansible 执行的基本单位)。这既是一个“执行概念”,也是我们用来描述 ansible-playbook 操作的文件的方式。

剧本是用 YAML 编写的,易于阅读、编写、共享和理解。要了解更多关于剧本的信息,请参见 Ansible 剧本

任务集

Ansible 执行的主要上下文,此剧本对象将受管节点(主机)映射到任务。任务集包含变量、角色和任务的有序列表,可以重复运行。它基本上包含一个针对映射的主机和任务的隐式循环,并定义如何遍历它们。

角色

可重用 Ansible 内容(任务、处理器、变量、插件、模板和文件)的有限分发,供在任务集中使用。

要使用任何角色资源,必须将角色本身导入到任务集中。

任务

要应用于受管主机的“操作”定义。您可以使用 ansibleansible-console(两者都创建虚拟任务集)一次执行单个任务。(两者都创建一个虚拟任务集)。

处理器

任务的一种特殊形式,仅在收到先前任务的通知时才执行,先前任务导致了“已更改”状态。

模块

Ansible 复制到每个受管节点并执行的代码或二进制文件(如果需要),以完成每个任务中定义的操作。

每个模块都有特定的用途,从管理特定类型数据库上的用户到管理特定类型网络设备上的 VLAN 接口。

您可以使用一个任务调用单个模块,或在一个剧本中调用多个不同的模块。Ansible 模块分组到集合中。要了解 Ansible 包含多少个集合,请参见 集合索引

插件

扩展 Ansible 核心功能的代码片段。插件可以控制您连接到受管节点的方式(连接插件)、操作数据(过滤器插件),甚至控制控制台中显示的内容(回调插件)。

有关详细信息,请参见 使用插件

集合

Ansible 内容的发布格式,可以包含剧本、角色、模块和插件。您可以通过 Ansible Galaxy 安装和使用集合。

要了解更多关于集合的信息,请参见 使用 Ansible 集合

集合资源可以独立且离散地使用。