Ansible with\u item 사용 방법

Ansible with\u item 사용 방법

2022-06-04 last update

5 minutes reading Ansible
Ansible items 플러그인은 항목의 목록을 되돌려 주는 검색 플러그인입니다.플러그인을 찾으면 외부 자원에서 데이터에 접근할 수 있습니다.by lookup 플러그인에서 제공하는 데이터는 Jinja2 템플릿을 통해 접근하여 변수, 템플릿 등을 불러올 수 있습니다.이 안내서는 with\u items 플러그인을 소개합니다.

Ansible with\u items는 무엇입니까?


Ansible with\u items는 시나리오에서 순환 작업을 수행할 수 있는 편리한 플러그인입니다.플러그인은 항목을 받아들여서 호출 모듈에 전달합니다.예를 들어, 설치할 패키지 목록을 전달하고 목록의 각 항목을 설치 작업에 전달할 수 있습니다.
참고: 항목에 중첩 목록이 있는 경우 Ansible은 벤드펴지지만 반환되지 않습니다.
with\uitems 플러그인을 사용하려면 시나리오에서 with\uitems 키워드를 사용하고 프로젝트 목록을 전달합니다.그리고 지정한 목록의 모든 항목을 호출하고 필요한 작업을 수행할 수 있습니다.

기본 용도


다음 예제에서는 with\u items 플러그인의 구문을 설명합니다.
---
- hosts: all
name: with items syntax
debug:
msg: "This is item {{item}}"
with_items:
- "a"
- "b"
- "c"
위의 예는 with\uitems 플러그인을 사용하는 간단한 목록을 보여 줍니다.
중첩 목록을 만들려면 다음과 같이 하십시오.
---
- hosts: all
name: nested list
debug:
msg: "Databases {{item}}"
with_items:
- ["MySQL", "PostgreSQL"] - "SQL"
- ["MongoDB", "DocumentDB", "Firestore"] - "NoSQL"
다음 예제 시나리오와 같이 변수가 포함된 목록도 있습니다.
---
- hosts: all
name: nested list
var1: "{{item.var1}}"
var2: "{{item.var2}}"
with_items:
- {var1: example1, var2: example2}
- {var1: example3, var2: example4}

Ansible with\u items 예


다음 예제에서는 Ansible with\u items 모듈을 사용하는 방법을 설명합니다.
---
- hosts: all
become: true
gather_facts: no
tasks:
- name: create users
user:
name: "{{item}}"
groups: test
state: present
with_items:
- user1
- user2
위의 시나리오는 with\u 항목을 사용하여 여러 사용자를 만듭니다.
---
- hosts: all
become: true
gather_facts: no
tasks:
- name: install packages
apt:
name: "{{item}}"
state: present
with_items:
- apache2
- ufw
- mysql
위의 예시에서 우리는 with\uitems 순환 프로젝트를 사용하여 apt 패키지 설치 프로그램에 전달합니다.
---
- hosts: all
become: true
gather_facts: no
tasks:
- name: create files
file:
path: "~/{{item.name}}"
state: touch
mode: "{{item.perm}}"
with_items:
- {name: file1, perm: "0777"}
- {name: file2, perm: "0644"}
위의 예시playbook에서, 우리는with\uitems 플러그인을 사용하여 파일 목록과 각자의 권한을 만듭니다.

결론


이 안내서는 Ansible with\uitems 플러그인의 작업 원리와 프로젝트 목록을 어떻게 순환하는지 토론합니다.