본문으로 바로가기

https://www.inflearn.com/course/ansible-%EC%8B%AC%ED%99%94

 

[심화] 앤서블(Ansible)을 깊이 있게 활용하기 - 인프런 | 강의

앤서블을 시간을 적게 들이면서, 좀 더 구조적으로 그리고 빠르게 동작하도록 만들어 봅시다. 그리고 부가적으로 보안적인 부분도 함께 알아보겠습니다., Ansible 심화 강좌 이전에 출시된 '[기초]

www.inflearn.com

 

CH2. 플레이북을 동적으로 구성하기

ㅇ FACT(s)

- 앤서블 코어 또는 플레이북을 작성 시에 유용하게 사용할 수 있는 인자들을 미리 정의해 둠

- # ansible 192.168.1.101 -m setup

  명령어를 통해 확인 가능

 

ㅇ WHEN

- 위 FACT를 통해 받은 host의 인자값과 WHEN을 통해 조건을 통해 실행시킬 수 있다.

- CentOS 는 YUM을 사용, Ubuntu는 apt 사용 등

 

ㅇ Include_tasks

- 조건문을 통해 구분할 경우, 파일내의 코드 길이가 너무 길어짐

- include_tasks 를 통해 yml를 추가하여 사용

 => 구조적으로 작성가능 (목적에 맞게, 조건에 맞게)

 

 

ㅇ If

- 운영체제가 여러개일때 최선이 when일까?  IF도 있음

- 코드가 더 간결해지며, when의 경우 task가 여러번 실행되고 skip되나, if의 경우 하나의 task로 조절가능

 

ㅇ 중급과정에서 작성했던 코드를 다시 작성하는 시간

 - {{ ansible_env.SSH_CLIENT }} => 192.168.1.10 54360 22 이렇게 나오는데

   split()[0] 을 붙여서 IP만 추출

 - 이외에는 inclue_tasks를 통해 정리