Ansible
Ansible Roles
코딩+아빠
2023. 6. 28. 01:00
Ansible에서는 "Role"을 사용하여 일반적인 방식으로 ansible 코드를 더 쉽게 재사용하는 방법을 제공한다.
role은 인프라를 프로비저닝하고, 애플리케이션을 배포하는 등의 모든 작업에 대해 변수, 파일, 템플릿 등의 기타 리소스들을 표준화된 디렉토리 구조로 패키징한다. 다시 정리하면, role은 쉬운 공유, 휴대성 및 재사용을 위해 특정 구조로 배열된 yaml 작업파일 및 지원 항목들의 모음이다.
playbook에서 role을 가져오기만 하면 미리 지정된 처리해야 할 task를 처리할 수 있다.
그렇다면 playbook 은 role 폴더를 어떻게 찾을까?
playbook 안쪽 폴더에서 관리할 수도 있으나 다른 playbook에서 필요 시 중복이 일어날 수 있다.
/etc/ansible/ansible.cfg 파일에 roles_path를 공통 폴더로 정의해 놓고 사용할 수 있다.
Share Roles

Ansible Galaxy 커뮤니티를 통해서 수많은 role에 대해 공유할 수 있다.
ansible-galaxy init mysql
Fine Roles

ansible galaxy 에서 role을 찾기 위해서 브라우저를 사용하거나 명령어로 가능하다
ansible-galaxy search mysql
ansible galaxy의 role을 사용하기 위해서는 명령어로 install 하거나 Playbook을 사용한다
ansible-galaxy install geerlingguy.mysql
반응형