正确的建模方式,使执行顺序正确 - Ansible

正确的建模方式,使执行顺序正确 - Ansible
  1. 我希望在一个组中的所有机器上执行 4 项任务。
  2. 一旦完成全部机器完全运行,任务 5 必须在一台机器上运行(假设这是一个数据库实例)。
  3. 一次任务 5完成后,任务6至10在同一组内的所有机器上运行。

目前我正在考虑按如下方式执行此操作(解决方案#1):

  1. 第 1 点的剧本
  2. 等到 playbook 1 完成后,然后手动运行 Point 2 的 Playbook
  3. 第 2 点完成后,针对第 3 点运行剧本。

另一种方法(解决方案#2)是:

一个剧本包含 3 个项目 - 如下所示: - hosts: groupA tasks: 1...4 - hosts: dbinstance tasks: 5 - hosts: groupA tasks: 6...10

SE 社区能否帮助我验证上述两种方法的正确性,并提出更好的建议?

答案1

您可以使用,delegate_to或者when: {{hostvars[inventory_hostname}} == "YOUR HOST"

相关内容