이번 시간에는 앤서블 조건문에 대해 알아보자
https://docs.ansible.com/ansible/latest/user_guide/playbooks_conditionals.html
Conditionals — Ansible Documentation
In a playbook, you may want to execute different tasks, or have different goals, depending on the value of a fact (data about the remote system), a variable, or the result of a previous task. You may want the value of some variables to depend on the value
docs.ansible.com
앤서블에서 조건문을 사용하려면 when 키워드를 사용하면 된다.
실습코드를 보며 when 키워드 사용방법에 대해 알아보자
https://github.com/tedilabs/fastcampus-devops/tree/main/2-ansible/08-conditional
GitHub - tedilabs/fastcampus-devops: 🚀 패스트캠퍼스 데브옵스 초격차 코스 자료
🚀 패스트캠퍼스 데브옵스 초격차 코스 자료. Contribute to tedilabs/fastcampus-devops development by creating an account on GitHub.
github.com
이전 반복문에서 실습에서 user 변수를 만들었는데 enabled 값을 추가했다.
첫 번째는 반복문안에서 조건문 사용하기이다.
이전 실습코드에서 when 구문이 하나 추가됐다.
when 구문을 보면 아마존 리눅스인 경우중 enabled 속성이 true인 사용자를 추가하라는 task이다.
두 번째는 debug 모듈을 사용해서 item을 출력하고 있는데 리스트의 원소중 10 이상, 100 이하인 원소들만
출력하도록 했다.
세 번째는 or 문의 예제이다. 리스트의 원소중 10 이하, 100 이상인 원소들만 출력하도록 했다.
네 번째는 운영체제 배포판에 따라 분기하여 처리하는 방법이다. 여기서는 우분투 운영체제에 대해서 패키지를
설치하도록 하였다.
다섯 번째는 아마존 리눅스 운영체제에 대해서 패키지를 설치하도록 하였다.
(아마존 리눅스는 centOS나 레드햇 리눅스처럼 yum나 dnf 명령어를 사용한다.) (ubuntu에서는 apt를 사용함)
마지막으로는 이전 task에서의 결과를 참조해서 그 결과값에 따라 task를 수행한다.
이 예시에서는 사용자 목록을 출력하고 그중에 "claud"가 없을 경우에 "Is there claud"라는 메시지를 출력하도록 했다.
'AWS > Part 4. Ch04 앤서블을 이용한 서버 형상 관리' 카테고리의 다른 글
CH04_10. 상세 (Facts) (0) | 2022.06.17 |
---|---|
CH04_08. 반복문 (Loop) (0) | 2022.06.17 |
CH04_07. 변수 (Variables) (0) | 2022.06.17 |
CH04_06. 핸들러 (Handler) (0) | 2022.06.17 |
CH04_05. 모듈 (Module) (0) | 2022.06.16 |