반응형
Ansible Galaxy를 사용하는 방법
Ansible Galaxy는 Ansible 커뮤니티에서 개발자가 작성한 역할 및 컬렉션을 공유하고 찾을 수 있는 플랫폼입니다.
1. Ansible Galaxy 설치
Ansible을 설치한 후, Ansible Galaxy 명령을 사용할 수 있습니다. 일반적으로 Ansible이 설치된 상태에서 Ansible Galaxy도 함께 설치됩니다.
$ ansible --version
[DEPRECATION WARNING]: Ansible will require Python 3.8 or newer on the controller starting with Ansible 2.12. Current version: 3.6.8 (default,
Nov 16 2020, 16:55:22) [GCC 4.8.5 20150623 (Red Hat 4.8.5-44)]. This feature will be removed from ansible-core in version 2.12. Deprecation
warnings can be disabled by setting deprecation_warnings=False in ansible.cfg.
ansible [core 2.11.12]
config file = /home/vagrant/ansiblecli/ansible.cfg
configured module search path = ['/home/vagrant/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
ansible python module location = /home/vagrant/.local/lib/python3.6/site-packages/ansible
ansible collection location = /home/vagrant/.ansible/collections:/usr/share/ansible/collections
executable location = /home/vagrant/.local/bin/ansible
python version = 3.6.8 (default, Nov 16 2020, 16:55:22) [GCC 4.8.5 20150623 (Red Hat 4.8.5-44)]
jinja version = 2.11.1
libyaml = True
$ ansible-galaxy --version
[DEPRECATION WARNING]: Ansible will require Python 3.8 or newer on the controller starting with Ansible 2.12. Current version: 3.6.8 (default,
Nov 16 2020, 16:55:22) [GCC 4.8.5 20150623 (Red Hat 4.8.5-44)]. This feature will be removed from ansible-core in version 2.12. Deprecation
warnings can be disabled by setting deprecation_warnings=False in ansible.cfg.
ansible-galaxy [core 2.11.12]
config file = /home/vagrant/ansiblecli/ansible.cfg
configured module search path = ['/home/vagrant/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
ansible python module location = /home/vagrant/.local/lib/python3.6/site-packages/ansible
ansible collection location = /home/vagrant/.ansible/collections:/usr/share/ansible/collections
executable location = /home/vagrant/.local/bin/ansible-galaxy
python version = 3.6.8 (default, Nov 16 2020, 16:55:22) [GCC 4.8.5 20150623 (Red Hat 4.8.5-44)]
jinja version = 2.11.1
libyaml = True
- 도움말
$ ansible-galaxy -h
usage: ansible-galaxy [-h] [--version] [-v] TYPE ...
Perform various Role and Collection related operations.
positional arguments:
TYPE
collection Manage an Ansible Galaxy collection.
role Manage an Ansible Galaxy role.
optional arguments:
--version show program's version number, config file location,
configured module search path, module location, executable
location and exit
-h, --help show this help message and exit
-v, --verbose verbose mode (-vvv for more, -vvvv to enable connection debugging)
- Role은 Ansible 플레이북의 모듈, 태스크 및 변수 등을 구성하는 방법을 정의합니다. Role은 간단한 디렉토리 구조로 구성되어 있으며, 특정 작업이나 역할에 대한 Ansible 코드와 파일이 포함됩니다.
- Collection은 role과 playbook뿐만 아니라 플러그인, 모듈, 템플릿, 문서 등을 포함하는 더 넓은 범위의 패키지입니다. Collection은 별도의 네임스페이스로 구성되어 있으며, 여러 역할과 플레이북을 한 번에 관리할 수 있습니다.
2. 역할 검색
원하는 역할을 검색합니다. <키워드>는 검색할 역할과 관련된 키워드입니다.
ansible-galaxy search <키워드>
3. 역할 설치
검색한 역할 중에서 원하는 역할을 설치합니다. <역할_이름>은 Ansible Galaxy에 등록된 역할의 이름입니다.
ansible-galaxy install <역할_이름>
4. 역할 사용
설치된 역할을 사용하여 플레이북에서 해당 역할을 호출합니다. 플레이북에서 roles 섹션을 사용하여 역할을 지정할 수 있습니다.
---
- name: My Playbook
hosts: servers
become: true
roles:
- { role: <역할_이름> }
컬렉션 사용
컬렉션은 역할과 모듈을 묶어 놓은 패키지입니다. Ansible 2.10 버전 이상에서는 컬렉션을 사용할 수 있습니다.
- 컬렉션 검색
ansible-galaxy collection search <키워드>
- 컬렉션 설치
ansible-galaxy collection install <컬렉션_이름>
- 컬렉션 사용
---
- name: My Playbook
hosts: servers
become: true
tasks:
- name: Use a module from the collection
<컬렉션_이름>.<모듈_이름>:
# 모듈에 필요한 매개변수
Ansible Galaxy를 사용하면 커뮤니티에서 공유하는 역할과 컬렉션을 활용하여 코드를 효과적으로 작성하고 재사용할 수 있습니다.
참고URL
- Ansible Documentation : ansible-galaxy
$ ansible-galaxy -h 사용법: ansible-galaxy [-h] [--version] [-v] TYPE ... 다양한 역할 및 컬렉션 관련 작업을 수행합니다. 위치 인수: TYPE 컬렉션 Ansible Galaxy 컬렉션을 관리합니다. 역할 Ansible Galaxy 역할을 관리합니다. 선택적 인수: --version 프로그램의 버전 번호, 구성 파일 위치, 구성된 모듈 검색 경로, 모듈 위치, 실행 파일 위치를 표시하고 종료합니다. -h, --help 이 도움말 메시지를 표시하고 종료합니다. -v, --verbose 상세 모드(-vvv 자세한 내용은 -vvvv를 사용하여 연결 디버깅을 활성화하세요)
728x90
반응형
'리눅스' 카테고리의 다른 글
nginx에서 사용할 수 있는 모듈을 확인하는 방법 (0) | 2024.01.12 |
---|---|
Nginx 가상 호스트 트래픽 상태 모듈을 통한 Nginx 모니터링(nginx-module-vts 모듈 추가) (0) | 2024.01.12 |
Ansible playbook에서 block, rescue, loop, always를 사용하는 방법(ansible-playbook) (0) | 2024.01.10 |
우분투에서 패키지가 자동으로 업데이트되지 않도록 설정하는 방법 (0) | 2024.01.09 |
Ansible playbook에서 loop와 when을 사용하는 방법(ansible-playbook) (0) | 2024.01.03 |