适用于大型服务器群的 Ansible-pull 配置管理

适用于大型服务器群的 Ansible-pull 配置管理

情况是这样的,

我有 100 个 Web 服务器、100 个 DB 服务器和 100 个后端服务器。它们全部由 Ansible 管理。我想使用 Ansible-pull 来减轻 Ansible 管理节点的负载并加快进程。

问题是,当我在每个节点上使用本地模式运行 ansible-pull 时,如何将特定角色应用于该节点。例如,Web 服务器节点如何知道它需要将 Web 服务器角色应用于自身?

我希望我已经表达清楚了。

答案1

您可以创建一个'hostname'.yml文件,以便只有匹配的主机才会运行该.yml 文件。

示例 repo 可能包含:
db1.yml
db2.yml
db3.yml

然后,主机名为“db1”的服务器将仅运行该db1.yml剧本。因此,在该剧本中,您可以调用它应该具有的所有任务和角色。

从手册页中:

ansible-pull 将根据主机的完全限定域名、主机主机名查找剧本,最后查找名为 local.yml 的剧本。

相关内容