본문으로 바로가기

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

 

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

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

www.inflearn.com

 

CH4. 재사용이 가능한 코드 만들기

ㅇ 롤이란 어떤 것일까요

- 바로 사용 가능

 > 검색 -> 선택 -> 롤(Role) -> 적용 -> 성공적인 결과

 - 롤의 구조 ( 7개의 디렉토리로 이루어짐 )

  > handlers  = 핸들러가 담기는 디렉터리

  > defaults   = 디폴트 인자가 들어가는 디렉터리

  > vars        = 인자가 정의되는 디렉터리

  > files        = 배포될 파일들이 위치하는 디렉터리

  > templates = 배포에 사용될 템플릿들이 들어가는 디렉터리 (jinja2 파일들)

  > meta       = 다른 롤과 의존성이 있는 경우에 해당 롤을 명시

  > tasks       = 지금까지 진행했던 기본 테스크(task)를 넣는 공간

 

ㅇ 롤 사용법

 roles:

   - { role: ./roles/nginx } 

 형식으로 호출 

  - QUIZ 해결 (task 폴더를 만듬,,  tasks로 만들어야하는데)

 

ㅇ 은하의 기운을 끌어모아 코드 만들기

 - Galaxy는 ansible role을 검색해서 설치함

 - https://galaxy.ansible.com/

 

Ansible Galaxy

 

galaxy.ansible.com

 - 설치 및 삭제

 # ansible-galaxy <install 또는 remove> <role 제작자>.<role 이름>

 - 설치 경로는 roles_path로 확인

 - /etc/ansible/ansible.cfg 의 roles_path 가 주석처리 되어있는지 확인

 - 위 명령어로 install 하여 파일을 다운받고

    yml 파일에 role 을 입력하여 각 노드에 설치한다