본문 바로가기
Infra Structure As a Code/Ansible

Ansible 배워보기 3탄 (Ansible Playbook 개념) - 작성 중

by 강시공 2023. 10. 17.

안녕하세요! 시공의 폭풍(클라우드) 속으로! 강시공 입니다.😊

 

이번 포스트는 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 }}"