如何并行运行 ansibe playbook

如何并行运行 ansibe playbook

站点.yml

---
- import_playbook: common.yml
- import_playbook: redis.yml
- import_playbook: riak.yml
- import_playbook: webserver.yml
- import_playbook: haproxy.yml

我想并行运行这些剧本。
喜欢

- import_playbook: common.yml
# after common.yml run these 4 in parallel
parallel {
- import_playbook: redis.yml
- import_playbook: riak.yml
- import_playbook: webserver.yml
- import_playbook: haproxy.yml
}

我怎样才能做到这一点?

答案1

一种选择是在后台运行其他剧本

> cat project.bash
#!/bin/bash
ansible-playbook common.yml
# Run the other playbooks in the background
ansible-playbook redis.yml > ansible-redis.log &
ansible-playbook riak.yml > ansible-riak.log &
ansible-playbook webserver.yml > ansible-webster.log &
ansible-playbook haproxy.yml > ansible-haproxy.log &

要监视项目,请打开其他四个终端并使用“查看日志”尾巴 -f ansible- ...

答案2

我是作者ansible-并行,所以你可以尝试:

pip install ansible-parallel
ansible-parallel *.yml

它显示进度的实时更新,并在最后显示报告。

相关内容