我使用 delegate_to 和嵌套循环在一组主机之间分发文件。
但在某些情况下,会存在性能问题,因为任务必须在一台主机上完成才能在下一台主机上执行,依此类推。
为了减少完成任务所需的时间,有没有办法并行执行 delegate_to with 循环?
- name: Create backup
archive:
path: xxxxx
dest: xxxxx
format: gz
delegate_to: "{{hosts[ ( ((item[0] -1) + (item[1] | int)) - 1) % (hosts|length|int) ] }}"
run_once: yes
with_nested:
- "{{loop_1}}"
- "{{loop_2}}"
Run Code Online (Sandbox Code Playgroud)
我已经尝试过异步模块,但我意识到它不适合我的用例。
ansible ×1