https://www.inflearn.com/course/ansible-%EC%8B%AC%ED%99%94
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로 구현 테스트 가능
위 배운것을 토대로 롤을 만든다.
'Ansible' 카테고리의 다른 글
[Ansible] "인프런 - [심화] 앤서블(Ansible)을 깊이 있게 활용하기" 강의 정리 - 5 (0) | 2021.06.30 |
---|---|
[Ansible] "인프런 - [심화] 앤서블(Ansible)을 깊이 있게 활용하기" 강의 정리 - 4 (0) | 2021.06.29 |
[Ansible] "인프런 - [심화] 앤서블(Ansible)을 깊이 있게 활용하기" 강의 정리 - 2 (0) | 2021.06.28 |
[Ansible] "인프런 - [심화] 앤서블(Ansible)을 깊이 있게 활용하기" 강의 정리 - 1 (0) | 2021.06.28 |
[Ansible] "인프런 - [응용] 다양한 환경을 앤서블(Ansible)로 관리하기 with 베이그런트(Vagrant)" 강의 정리 - 10 (0) | 2021.06.27 |