[Ansible] 작업 제어 (Task Controll)DevOps/Ansible2022. 4. 20. 22:23
Table of Contents
728x90
✔️ 작업 제어
✔️ step
특정 작업에서 오류가 나는데 해결이 안되거나 이전 작업에서 영향이 있는 것 같다고 판단했을 때step
을 이용해 한 줄씩 실행하면서 확인 해볼 수 있다.
[vagrant@controller 06_tags]$ ansible-playbook test.yaml --step
PLAY [play1] ********************************************************************************************************************************************************************************************************************************************************
Perform task: TASK: task1 (N)o/(y)es/(c)ontinue: n
Perform task: TASK: task1 (N)o/(y)es/(c)ontinue: ********************************************************************************************************************************************************************************************************************
Perform task: TASK: task2 (N)o/(y)es/(c)ontinue: y
Perform task: TASK: task2 (N)o/(y)es/(c)ontinue: ********************************************************************************************************************************************************************************************************************
TASK [task2] ********************************************************************************************************************************************************************************************************************************************************
ok: [192.168.100.11] => {
"msg": "web server stage"
}
예를 들어 Host1, Host2, Host3 이 있고 각 호스트에서 실행되어야 할 T1 ~ T100 까지의 태스크가 있다고 해보자
Host1, Host2에서는 태스크 100개가 모두 정상적으로 실행 완료되었지만 Host3에서 T50 태스크 실행 도중 오류가 발생했다고 해보자
Host3의 T49까지는 모든 태스크가 정상적으로 실행되었음을 확인했다면 Host3에 T1부터 T100까지 다시 실행하는 것은 매우 비효율적인 방법일 것이다.
이런 상황에서 --start-at-task
옵션을 사용할 수 있다.
✔️ 특정 작업부터 시작
[vagrant@controller 06_tags]$ ansible-playbook test.yaml --start-at-task="task3"
PLAY [wp] ***********************************************************************************************************************************************************************************************************************************************************
TASK [task3] ********************************************************************************************************************************************************************************************************************************************************
ok: [192.168.100.11] => {
"msg": "web server all"
}
PLAY RECAP **********************************************************************************************************************************************************************************************************************************************************
192.168.100.11 : ok=1 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
[vagrant@controller 06_tags]$ ansible-playbook test.yaml --start-at-task="task3" --step
PLAY [wp] ***********************************************************************************************************************************************************************************************************************************************************
Perform task: TASK: task3 (N)o/(y)es/(c)ontinue: ^C [ERROR]: User interrupted execution
[vagrant@controller 06_tags]$ ansible-playbook test.yaml --start-at-task="task3" --step --limit 192.168.100.11
PLAY [wp] ***********************************************************************************************************************************************************************************************************************************************************
Perform task: TASK: task3 (N)o/(y)es/(c)ontinue: ^C [ERROR]: User interrupted execution
728x90
'DevOps > Ansible' 카테고리의 다른 글
[Ansible] artifact 재사용 - 파일 재사용 (2) (0) | 2022.04.20 |
---|---|
[Ansible] artifact 재사용 - 파일 재사용 (1) (0) | 2022.04.20 |
[Ansible] 태그 (Tag) (0) | 2022.04.20 |
[Ansible] 블록 (Block) (0) | 2022.04.20 |
[Ansible] 핸들러 (Handler) (0) | 2022.04.20 |
@TTOII :: 뭉게뭉게 클라우드
영차영차 성장 블로그
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!