Ansible CLI 치트시트

Ansible CLI 치트시트

이 페이지는 각 Ansible 명령줄 유틸리티의 예시 하나 이상을 흔히 쓰는 플래그와 함께 보여주고, 각 명령의 전체 문서 링크를 제공해요. 이 페이지는 흔한 사용 사례에 대한 빠른 리마인더일 뿐이라, 오래되었거나 불완전하거나 둘 다일 수 있어요. 정식(canonical) 문서는 CLI 페이지 링크를 따라가세요.

출처: 문서

본문

ansible-playbook

ansible-playbook -i /path/to/my_inventory_file -u my_connection_user -k -f 3 -T 30 -t my_tag -M /path/to/my_modules -b -K my_playbook.yml

현재 작업 디렉터리에서 my_playbook.yml을 로드하고 다음을 수행해요.

  • -i — 제공된 경로의 my_inventory_file을 인벤토리로 사용해 패턴과 대조.
  • -umy_connection_user로 SSH 연결.
  • -k — 비밀번호를 물어보고 SSH 인증에 제공.
  • -f — 포크(fork) 3개 할당.
  • -T — 30초 타임아웃 설정.
  • -tmy_tag 태그가 붙은 작업만 실행.
  • -M/path/to/my/modules에서 로컬 모듈 로드.
  • -b — 상승된 권한으로 실행(become 사용).
  • -K — become 비밀번호를 물어봄.

자세한 문서는 ansible-playbook을 보세요.

ansible-galaxy

컬렉션 설치하기

  • 단일 컬렉션 설치:
ansible-galaxy collection install mynamespace.mycollection

구성된 Galaxy 서버(기본 galaxy.ansible.com)에서 mynamespace.mycollection을 다운로드해요.

  • 컬렉션 목록 설치:
ansible-galaxy collection install -r requirements.yml

requirements.yml 파일에 지정된 컬렉션 목록을 다운로드해요.

  • 설치된 모든 컬렉션 나열:
ansible-galaxy collection list

역할 설치하기

  • example.role이라는 역할 설치:
ansible-galaxy role install example.role

# SNIPPED_OUTPUT
- extracting example.role to /home/user/.ansible/roles/example.role
- example.role was installed successfully
  • 설치된 모든 역할 나열:
ansible-galaxy role list

자세한 문서는 ansible-galaxy를 보세요.

ansible

ad-hoc 명령 실행하기

  • 패키지 설치:
ansible localhost -m ansible.builtin.apt -a "name=apache2 state=present" -b -K

로컬 시스템에서 ansible localhost를 실행해요. name=apache2 state=present는 Debian 기반 시스템에 apache2 패키지를 설치하고, -b는 become으로 상승된 권한으로 실행하며, -m은 모듈 이름을 지정하고, -K는 권한 상승 비밀번호를 물어봐요.

localhost | SUCCESS => {
    "cache_update_time": 1709959287,
    "cache_updated": false,
    "changed": false
    #...
}

ansible-doc

  • 플러그인 이름과 그 소스 파일 보기:
ansible-doc -F
#...
  • 사용 가능한 플러그인 보기:
ansible-doc -t module -l
#...

더 알아보기 (Learn more)

각 명령(ansible-playbook, ansible-galaxy, ansible, ansible-doc)의 공식 CLI 문서 페이지를 함께 보세요. ad-hoc 명령 사용법과 플레이북 구성에 대한 더 자세한 내용은 "Introduction to ad hoc commands"와 "Working with playbooks" 문서를 참고하세요.