ansibe 플레이북을 병렬로 실행하는 방법

ansibe 플레이북을 병렬로 실행하는 방법

사이트.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 &

프로젝트를 모니터링하려면 다른 4개의 터미널을 열고 "로그 보기"를 사용하세요.tail-f 앤서블-…"

답변2

나는 저자이다앤서블 병렬, 다음을 시도해 볼 수 있습니다.

pip install ansible-parallel
ansible-parallel *.yml

진행 상황을 실시간 업데이트하고 마지막에 보고서를 표시합니다.

관련 정보