본문 바로가기

리눅스

Ansible playbook에서 loop와 when을 사용하는 방법(ansible-playbook)

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

ansible-playbook

 

참고URL

- Ansible Documentation : ansible playbook loop

- Ansible Documentation : ansible playbook conditional

 

728x90