Ansible

如何並行執行 ansibe playbook

  • September 28, 2021

網站.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
}

我怎樣才能做到這一點?

一個選項是在後台執行其他劇本

> 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 &

要監控項目,請打開其他四個終端並使用“ tail -f ansible- … ”查看日誌

我是ansible-parallel的作者,所以你可以試試:

pip install ansible-parallel
ansible-parallel *.yml

它顯示進度的實時更新,並在最後顯示報告。

引用自:https://unix.stackexchange.com/questions/512254