출처 : 앤서블로 시작하는 인프라 자동화
앤서블 갤럭시
- 앤서블 갤럭시는 앤서블에서 사용되는 롤을 저장하고 공유하는 저장소이다.
- 많은 사람들이 앤서블을 이용해 롤을 개발하고, 개발한 롤을 앤서블 갤럭시에 공유한다.
- 앤서블 갤럭시에서 가지고 온 롤은 검증되지 않은 것이 많아서 사용 시 주의해야 한다.
- 앤서블 갤럭시 주소 : https://galaxy.ansible.com
Ansible Galaxy
galaxy.ansible.com
명령어를 이용한 앤서블 갤럭시 활용
- 앤서블 갤럭시 사이트에서 찾은 롤을 개발 중인 앤서블 프로젝트로 가져오려면 ansible-galaxy 명령어를 사용해야 한다.

ansible-galaxy role -h
ansible-galaxy role 명령어를 통해 롤을 가져오려는데 서브 명령어가 기억나지 않는다면 -h(--help) 옵션으로 서브 명령어와 설명을 볼 수 있다.



ansible-galaxy role search postgresql --platforms 운영체제이름
앤서블 갤럭시 사이트에서 롤을 검색할 수도 있지만, ansible-galaxy role search 명령어를 통해 롤을 검색할 수 있다. 롤과 --platforms 옵션에 운영체제 이름을 입력하면 해당 운영체제에서 사용가능한 롤을 검색할 수 있다.

ansible-galaxy role info buluma.postgres
앤서블 갤럭시에서 검색한 롤이나 ansible-galaxy role search 명령어를 통해 검색한 롤 모두 ansible-galaxy role info 명령어를 통해 상세 내용을 확인할 수 있다.
commit_url의 깃허브에 방문하여 어떤 플레이북으로 구성되어 있는지 확인하면 롤 사용법, 설치 가능한 운영체제 버전 등을 확인할 수 있다. 위 명령어의 경우 postgresql로 검색된 롤 중 buluma.postgres 롤의 상세 정보를 확인한 내용이다.

ansible-galaxy role install -p roles buluma.postgres
ansible-galaxy role install 명령어를 이용해 검색한 롤을 설치할 수 있다. 이때 -p 옵션을 사용해 롤이 설치될 디렉토리 경로를 지정한다. 위는 명령어가 실행되는 현재 디렉토리 내의 roles 디렉토리에 롤을 설치하겠다는 의미이다.

ll roles
tree roles/buluma.postgres/
롤이 정상적으로 설치되었는지 ll(ls -al) 명령어를 이용하여 roles 디렉토리를 살펴보면 buluma.postgres 디렉토리를 확인할 수 있다. 또한 tree 명령어를 통해 해당 디렉토리의 구조를 확인할 수 있다.

cat roles/buluma.postgres/tasks/main.yml
롤이 설치되면 롤 안의 yml 파일을 살펴볼 수 있다.

ansible-galaxy role list -p ./roles
설치된 롤은 ansible-galaxy role list 명령어를 이용해 확인할 수 있다. 이때 -p 옵션을 사용하여 롤이 있는 경로를 지정할 수 있다.
그러나 이렇게 경로를 지정해도 WARNING 메시지가 출력된다. 앤서블 환경 설정에 롤 디렉토리 관련 설정이 되어있지 않기 때문이다.

vi ansible.cfg
[defaults]
inventory = ./inventory
remote_user = root
ask_pass = false
inject_facts_as_vars = false
roles_path = ./roles
ansible.cfg 파일을 열고 [defaults] 섹션 아래에 roles_path 파라미터를 위 코드와 같이 추가한다. 여기서 ./roles는 현재 디렉토리의 roles 디렉토리라는 뜻이다.

ansible-galaxy role list
다시 ansible-galaxy role list 명령어를 실행한다. 이번에는 -p 옵션 없이 실행해도 WARNING 메시지가 출력되지 않고 롤 목록을 확인할 수 있다.

ansible-galaxy role remove buluma.postgres
ansible-galaxy role remove 명령어를 이용해 설치했던 롤을 삭제할 수 있다.
'Study > 앤서블(Ansible)' 카테고리의 다른 글
앤서블 컨텐츠 콜렉션 (0) | 2024.04.17 |
---|---|
롤과 콘텐츠 컬렉션을 활용한 플레이북 구현 - 롤 구조 소개 및 사용법 (0) | 2024.04.10 |
핸들러 및 작업 실패 처리 (0) | 2024.03.23 |
반복문과 조건문을 이용한 제어문 구현하기 - 조건문 (0) | 2024.03.22 |
반복문과 조건문을 이용한 제어문 구현하기 - 반복문 (0) | 2024.03.20 |