转到ansible中的下一个任务,而不等待其他主机完成该任务

时间:2016-10-01 12:07:54

标签: ansible wait ansible-playbook

所以我注意到在我的ansible playbooks中,如果我使用相同的playbook定位多个主机,那么在进入下一个任务之前,所有主机必须完成每个任务。

是否可以定义playbook,以便任务在完成后立即运行以下任务而无需等待任务在所有其他主机上完成?

1 个答案:

答案 0 :(得分:5)

Ansible的这种行为可以由playbook strategies控制。

默认策略为linear策略:

  

所有主机将在任何主机启动下一个任务之前运行每个任务,使用分叉数(默认值为5)进行并行化。

另一种策略是free

  

第二种策略附带ansible free,允许每个主机尽可能快地运行直到游戏结束。:

设置如下策略:

- hosts: all
  strategy: free
  tasks:

如果无法使用free策略,您可以使用serial指令设置批次。