[Ansible] ansible-galaxy 사용법DevOps/Ansible2022. 4. 21. 10:59
Table of Contents
728x90
✔️ ansible-galaxy
내가 만든 역할을 공유하거나 다른 사람이 만든 역할을 공유하는 사이트가 있다.
Ansible Galaxy - 역할들을 공유하는 사이트 (like Docker Hub)
- 수천개의 ansible role이 있고, ansible 사용자가 관리 작업을 수행하는 데 도움이 되는 role을 식별할 수 있는 검색 가능한 데이터베이스가 있다.
- 이 사이트를 관리하는 주체는 RedHat이며 무료이다.
- github 계정으로 로그인해서 사용한다.
공유하는 데이터 리스트는 다음과 같다.
- 역할(Role)
- 컬렉션(Collection) : 역할 + 3rd Party 모듈
- 번들(Bundle) : RedHat OpenShift ← 역할을 설치하기 위한 기능을 가지는 것이 번들
이미 3000개가 넘는 모듈이 존재하지만
우리가 직접 만든 모듈도 사용이 가능하고 우리가 만든 모듈을 컬렉션이라는 패키지 모듈에 포함시킨다.
역할에서의 library 디렉토리는 해당 역할 구성에서만 사용할, 직접만든 module을 넣어 놓는 디렉토리이다.
ansible-galaxy 명령을 이용해 타인의 공유물을 설치할 때는 다음 명령줄을 이용한다.
ansible-galaxy install nginxinc.nginx 계정 이름.역할 이름 으로 구성된다.
✔️ ansible-galaxy 사용법
✔️ 역할 목록 출력
설치된 역할의 리스트를 보여준다.
역할이 저장되는 default 다운로드 위치 3곳에 설치된 역할을 보여준다.
galaxy-ansible list
기본 위치
- /home/계정명/.ansible/roles (우선순위가 가장 높은 기본 경로이다.)
- /usr/share/ansible/roles
- /etc/ansible/roles
옵션
- -C : C 옵션으로 경로를 지정하는 경우, 해당 경로에 설치된 역할을 보여준다.
- -p : 역할을 검색할 위치를 기본값이 아닌 특정 디렉토리를 지정한다.
[vagrant@controller ~]$ ansible-galaxy list
# /home/vagrant/.ansible/roles
- geerlingguy.elasticsearch, 5.1.0
# /usr/share/ansible/roles
# /etc/ansible/roles
✔️ 역할 검색
역할을 검색한다.
ansible-galaxy search
옵션
- --author : 저자명을 이용해 검색
- --platforms : 플랫폼을 이용해 검색
- --galaxy-tags : galaxy-tag 분류를 기준으로 검색
[vagrant@controller sample]$ ansible-galaxy search elasticsearch
Found 581 roles matching your search:
Name Description
---- -----------
0ccupi3r.kibana Kibana for Linux
0x0i.elasticsearch Elasticsearch, a real-time distributed search and analytics engine
0x0i.grafana Grafana - an analytics and monitoring observability platform
0x0i.kibana Kibana, an analytics and visualization platform designed to operate with Elasticsearch
0xballistics.ansible_winlogbeat_sysmon install winlogbeat and sysmon
1it.sudo Ansible role for managing sudoers
aaronpederson.fluentd Really simple management of data collection from logs or scripts. Installation from gem.
abelboldu.elasticsearch Elasticsearch for Linux.
abelboldu.logstash Logstash for Linux.
abraverm.kibana-management Kibana objects (dashboard, visualization) management
adamaod.Single-Instance-ELK Single Instance Elk Stack
[vagrant@controller ~]$ ansible-galaxy search 'redis' --platforms 'EL' --galaxy-tags 'security'
Found 5 roles matching your search:
Name Description
---- -----------
bartekrutkowski.redis Redis for Linux and FreeBSD systems with focus on security
j91321.auditbeat Install Auditbeat for security monitoring, supplied ruleset.
juju4.ail_framework CIRCL.LU Analysis of Information Leaks framework aka AIL framework
juju4.misp MISP - Malware Information Sharing Platform & Threat Sharing
juju4.redis_leveldb Redis-leveldb, A redis-protocol compatible frontend to google's leveldb
✔️ 역할 세부 정보 표시
역할에 대한 세부 정보를 표시한다.
ansible-galaxy info
[vagrant@controller ~]$ ansible-galaxy info geerlingguy.elasticsearch
Role: geerlingguy.elasticsearch
description: Elasticsearch for Linux.
active: True
commit: e4c14f6d559d660c39f0cc9bba53cf7cd5a3a2da
commit_message: PR #83: Adjust docs for elasticsearch_package.
commit_url: https://api.github.com/repos/geerlingguy/ansible-role-elasticsearch/git/commits/e4c14f6d559d660c39f0cc9bba53cf7cd
company: Midwestern Mac, LLC
created: 2014-08-22T19:42:19.353946Z
download_count: 638862
forks_count: 179
github_branch: master
github_repo: ansible-role-elasticsearch
github_user: geerlingguy
id: 1450
imported: 2021-08-25T18:25:23.759293-04:00
is_valid: True
issue_tracker_url: https://github.com/geerlingguy/ansible-role-elasticsearch/issues
license: license (BSD, MIT)
min_ansible_version: 2.4
이하 생략 ...
✔️ 역할 설치
역할을 다운받아 설치한다.
ansible-galaxy install
옵션
- -p : 역할 설치 경로를 기본값이 아닌 특정 디렉토리로 지정
- -c : ignore certs : SSL certificate를 무시한다. 특정 보안 없이 설치하려면 이 옵션을 추가해야 한다.
기본적으로 ansible에 설정된 기본 경로인 ~/.ansible/roles 디렉토리에 설치된다.
[vagrant@controller ~]$ ansible-galaxy install geerlingguy.elasticsearch
- downloading role 'elasticsearch', owned by geerlingguy
- downloading role from https://github.com/geerlingguy/ansible-role-elasticsearch/archive/5.1.0.tar.gz
- extracting geerlingguy.elasticsearch to /home/vagrant/.ansible/roles/geerlingguy.elasticsearch
- geerlingguy.elasticsearch (5.1.0) was installed successfully
즉 ~/.ansible/roles/geerlingguy.elasticsearch 에 설치가 되며
사용할 플레이북을 만든 다음 간단하게 선언해주면 된다.
- hosts: 192.168.100.11
roles:
- geerlingguy.elasticsearch
- 이렇게 순서에 맞춰서
- 사용해주면 되니까 편하다.
✔️ 역할 삭제
이름을 지정해 역할을 제거 할 수 있다.
ansible-galaxy remove
옵션
- -p : 역할을 삭제할 위치를 기본값이 아닌 특정 디렉토리로 지정한다.
[vagrant@controller ~]$ ansible-galaxy remove geerlingguy.elasticsearch
- successfully removed geerlingguy.elasticsearch
728x90
'DevOps > Ansible' 카테고리의 다른 글
[Ansible] AWX 설치하기 (0) | 2022.04.21 |
---|---|
[Ansible] vault (플레이북의 암호화) (0) | 2022.04.21 |
[Ansible] 플레이 레벨에서 작업 실행 순서 (0) | 2022.04.21 |
[Ansible] artifact 재사용 - 역할(roles) (0) | 2022.04.21 |
[Ansible] artifact 재사용 - 파일 재사용 (2) (0) | 2022.04.20 |
@TTOII :: 뭉게뭉게 클라우드
영차영차 성장 블로그
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!