728x90
Ansible playbook에서 loop와 when을 사용하는 방법(ansible-playbook)
loop와 conditional을 사용하는 예제
- Ansible playbook 편집
vim example2.yml
---
- name: Chrony 설치 및 설정
gather_facts: true
hosts: all
become: true
vars:
users:
- ansible_user1
- ansible_user2
- ansible_user3
tasks:
- name: 사용자 만들기
user:
name: "{{ item }}"
state: present
with_items: "{{ users }}" # users 리스트에 대해 반복
- name: Chrony 설치
package:
name: chrony
state: present
with_items: "{{ ansible_play_hosts_all }}" # 모든 호스트에 대해 반복
- name: Chrony 서비스 시작 (Ubuntu에서만)
service:
name: chrony
state: started
with_items: "{{ ansible_play_hosts_all }}" # 모든 호스트에 대해 반복
when: "'Ubuntu' in ansible_distribution"
- name: 메시지 표시
debug:
msg: "Chrony installation and start completed on {{ inventory_hostname }}"
###
# ansible-playbook -i inventory/hosts.ini ansible_learn/example2.yml --limit localhost
- Ansible playbook 실행
ansible-playbook -i inventory/hosts.ini ansible_learn/example2.yml --limit localhost
참고URL
- Ansible Documentation : ansible playbook loop
- Ansible Documentation : ansible playbook conditional
728x90
'리눅스' 카테고리의 다른 글
Ansible playbook에서 block, rescue, loop, always를 사용하는 방법(ansible-playbook) (0) | 2024.01.10 |
---|---|
우분투에서 패키지가 자동으로 업데이트되지 않도록 설정하는 방법 (0) | 2024.01.09 |
Ansible playbook에서 register와 debug 모듈을 사용하는 방법(ansible-playbook) (0) | 2024.01.03 |
Ansible playbook에서 현재 날짜 및 시간을 얻는 방법(ansible-playbook) (0) | 2024.01.03 |
Nginx에서 로그 파일을 생성하는 방법 (0) | 2024.01.02 |