본문 바로가기

ansible20

Playbook run options --tags all : 모든 작업 실행, tag 무시 (default) --tags [tag1,tag2] : 해당 tag가 있는 작업만 실행 --skip-tags [tag3,tag4] : 해당 tag가 있는 작업을 제외한 모든 작업을 실행 --tags tagged : 하나 이상의 tag가 있는 작업만 실행 --tags untagged : tag가 없는 작업만 실행 2023. 6. 28.
Ansible Roles Ansible에서는 "Role"을 사용하여 일반적인 방식으로 ansible 코드를 더 쉽게 재사용하는 방법을 제공한다. role은 인프라를 프로비저닝하고, 애플리케이션을 배포하는 등의 모든 작업에 대해 변수, 파일, 템플릿 등의 기타 리소스들을 표준화된 디렉토리 구조로 패키징한다. 다시 정리하면, role은 쉬운 공유, 휴대성 및 재사용을 위해 특정 구조로 배열된 yaml 작업파일 및 지원 항목들의 모음이다. playbook에서 role을 가져오기만 하면 미리 지정된 처리해야 할 task를 처리할 수 있다. 그렇다면 playbook 은 role 폴더를 어떻게 찾을까? playbook 안쪽 폴더에서 관리할 수도 있으나 다른 playbook에서 필요 시 중복이 일어날 수 있다. /etc/ansible/ans.. 2023. 6. 28.
Ansible Loops loop 지시문과 변수를 받아 반복을 수행한다. 변수에 방식에 따라 3가지의 방식이 있다. 1.기본 item 변수 사용 - name: test1 hosts: web1.example.com tasks: - name: postfix and httpd are running service: - name: "{{ item }}" state: started loop: - postfix - httpd 2.사용자 정의 변수 사용 - name: test1 hosts: web1.example.com vars: check_services: - postfix - httpd tasks: - name: postfix and httpd are running service: - name: "{{ item }}" state: star.. 2023. 6. 27.
Ansible Conditionals 플레이 북에서 팩트 (원격 시스템에 대한 데이터), 변수 또는 이전 작업의 결과 값에 따라 다른 작업을 실행하거나 다른 목표를 가질 수 있다. 일부 변수의 값이 다른 변수의 값에 종속되도록 할 수 있다. 또는 호스트가 다른 기준과 일치하는지 여부에 따라 추가 호스트 그룹을 생성 할 수 있다. 조건부로이 모든 것을 할 수 있다. # Inventory # We have created a group for web servers. Similarly create a group for database servers named 'db_servers' and add db1 server to it # -------------------------------- # Sample Inventory File # Web Serv.. 2023. 6. 27.