본문으로 바로가기

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

 

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

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

www.inflearn.com

 

CH3. 플레이북을 짜임새 있게 구성하기

ㅇ 핸들러

- 작업 전달자

- 작업이 정상적으로 성공시 이후 작업 시작, 실패시 동작 안함

- 멱등성을 지키기 때문에 변화가 없으면 추가 실행하지 않음

- handlers:  로 표현하고

  tasks의 name으로 호출

 

ㅇ 변수

- 변수에는 우선순위가 있음

 > 여러번 사용가능하지만 최우선순위가 선정됨

- group_vars, host_vars

 > tree 설치 => sudo yum install tree

  -> 리눅스 디렉터리 구조를 트리구조로 보여주는 프로그램

  -> group_vars 밑에 있는 그룹이름 파일을 참고하여 yml에 선언한 변수를 설정한다

 > host_vars는 host_vars 밑에 있는 호스트 이름 파일을 참고하여 yml에 선언한 변수를 설정한다.

 

 ㅇ 템플릿 1부

 - 템플릿이란?

 - 파이썬의 j2 (jinja2) 를 통해 앤서블의 템플릿을 만듬 (파이썬에서 템플릿을 위해 정의된 엔진)

 - 따라서 파이썬으로 짜여진 앤서블 그리고 솔트스택에서 적극적으로 차용

 - 기본 문법

 > {%...%}   : 제어가 들어가는 라인   ex) with_items, when, in

 > {{...}}      : 표현식(문)이 들어가는 구문  ex) 변수문

 > {#...#}    : 주석 표시

 - 템플릿을 통해 각 노드의 hosts 파일 변경을 동적으로 함

 

ㅇ 템플릿 2부

 - 템플릿은 src로 사용하여 dest에 쓰는 역할만 할까?

 - 출력메시지에 변수로 템플릿을 만들어 debug 하는데에 사용함  

 - jinja live parser로 구현 테스트 가능

   >  http://jinja2test.tk/

 

위 배운것을 토대로 롤을 만든다.