안녕하세요! 시공의 폭풍(클라우드) 속으로! 강시공 입니다.😊
이번 포스트는 Ansible Playbook에 대해 배워보는 포스트를 작성하였습니다.
1. Ansible Playbook이란 ?
Redhat 공식 홈페이지에서 가져온 내용입니다.
Ansible Playbook이란, 특정 인벤토리 또는 호스트 그룹에 대해 자동으로 실행되는 태스크(작업) 목록입니다.
Ansible playbook은 YAML 구문을 사용합니다. YAML 파일은 .yaml 과 .yml 확장자를 사용합니다.
YAML은 사람이 읽을 수 있는 언어이기 때문에 네트워크, 보안, 클라우드 등과 같이 특정 도메인의 IT 전문가의 경우
복잡한 코딩 언어를 학습하지 않아도 플레이북을 작성할 수 있습니다.
2. Ansible Playbook의 구성 요소
자동화 작업 스크립트를 작성해 둔 것을 Playbook이라고 한다.
Playbook의 구성 요소는 크게 3가지 이다.
- 타깃
실행 대상, 사용자를 설정하는 부분
- 변수
Playbook에서 사용할 변수를 설정
- 태스크
Playbook에서 실행할 태스크(작업)을 설정하는 부분
tasks:
- name: task1
copy: dest=/etc/motd content={{ motd_warning }}
모듈
앤서블에 의해 정의된 패키징 태스크
-> apt, shell, register, msg, copy, file ...
3. Ansible Playbook 예제
example.yml 파일 내용입니다.
실행 시 ansible-playbook example.yml 으로 실행해 주세요.
new_password 부분에 변경할 패스워드를 입력하면 대상별로 패스워드를 변경합니다.
- name: 패스워드 변경 플레이북
hosts: 172.26.125.113
become: yes
become_user: kang
vars:
server_display_name: "webserver"
tasks:
- name: 패스워드 변경 스크립트 실행
shell: "echo 'new_password' | sudo passwd --stdin kang"
register: result
- name: 출력 표시
debug:
msg: "{{ server_display_name }} 패스워드 변경 결과: {{ result.stdout }}"
'Infra Structure As a Code > Ansible' 카테고리의 다른 글
Ansible 배워보기 2탄 (root 로그인이 불가 환경에서 Ansible 제어 방법) (0) | 2023.10.17 |
---|---|
Ansible 배워보기 1탄 (Ansible 설치 및 기본 명령어 배워보기) (0) | 2023.10.16 |