如何在 Ansible tower 集群中的所有服务器上创建作业 运行?

How to make a job run on all the servers in Ansible tower cluster?

我们有一个由 3 台服务器组成的集群 Ansible 塔设置。我想在所有 3 台服务器上同时 运行 一个修补作业,它只在一台服务器上 运行 s(哪个塔根据内部算法计算出来)。如何同时在集群中的 3 台服务器上 运行?

您指的是 "Sliced Job"(或 "Distributed Job"): https://docs.ansible.com/ansible-tower/3.6.2/html/installandreference/glossary.html#term-distributed-job

Ansible Tower 文档在第 17 节(针对 Tower 版本 3.6.2)中 "Job Slicing": https://docs.ansible.com/ansible-tower/latest/html/userguide/job_slices.html

如果您尝试在所有主机上编排一组复杂的任务,请注意此警告:

Any job that intends to orchestrate across hosts
(rather than just applying changes to individual
hosts) should not be configured as a slice job. 
Any job that does, may fail, and Tower will not
attempt to discover or account for playbooks that
fail when run as slice jobs.

当您必须重新配置大量机器并希望使用所有 Tower 集群容量时,作业分片很有用。用它来修补 100 台机器就是一个很好的例子,唯一的限制是确保补丁源(本地补丁服务器或您的 Internet 连接)有足够的能力来处理负载,并且任何重新启动尽管工作分片,系统仍能正确协调。