IaC/Ansible 이론
Ansible 모듈 및 플러그인 | 모듈 종류, 플러그인 종류, 확인
Greta Lee
2021. 7. 28. 11:26
SMALL
Ansible 모듈 및 플러그인 확인
모듈은 Ansible을 이용해 관리 노드에 작업을 실행하는 핵심 요소입니다. 모듈은 Python 코드로 이루어져 있으며, /usr/lib/python3/dist-packages/ansible 경로에 있습니다. 현재 버전(2.9) 기준으로 약 3000개가 넘는 모듈이 존재합니다.
ansible-doc 명령을 이용하여 모듈의 목록과 모듈의 사용법을 확인할 수 있습니다.
1. ansible-doc 명령 사용
(1) 모듈 목록 확인
ansible-doc -l
(2) 특정 모듈 확인
ansible-doc <module-name>
◆ 모듈 목록
https://docs.ansible.com/ansible/2.9/modules/modules_by_category.html
Module Index — Ansible Documentation
© Copyright 2019 Red Hat, Inc. Last updated on Jul 19, 2021.
docs.ansible.com
2. 자주 사용되는 모듈
(1) 명령 모듈
명령 모듈 | 기능 | PYthon | Shell |
command | 명령 실행 | O | X |
raw | 명령 실행 | X | X |
script | 스크립트 실행 | ||
shell | 쉘 명령 실행 | O | O |
(2) 파일 모듈
archive | 압축 생성 |
blockinfile | 텍스트 파일에 블록 삽입 / 업데이트 / 삭제 |
copy | 파일 복사 |
fetch | 파일 가져오기 |
file | 파일 및 속성 관리 |
lineinfile | 텍스트 파일에 행 관리 |
replace | 텍스트 파일의 문자열 관리 |
synchronize | rsync 동기화 |
template | Jinja2 템플릿 |
unarchive | 압축 해제 |
(3) 네트워크 도구 모듈
get_url | HTTP/S, FTP 파일 다운로드 (wget) |
uri | 웹 서비스와 상호작용 (curl) |
(4) 패키지 모듈
gem | Ruby Gems |
npm | Node.js 패키지 관리 |
pip | Python 라이브러리 관리 |
apt | Debian / Ubuntu 패키지 관리 |
package | 일반적인 OS 패키지 관리 |
dnf | dnf 패키지 관리 |
yum | yum 패키지 관리 |
(5) 소스 제어 모듈
git | git 관리 |
github_* | github 관련 모듈 |
gitlab_* | gitlab 관련 모듈 |
bitbucket_* | bitbucket 관련 모듈 |
(6) 시스템 모듈
cron | crontab 관리 |
filesystem | 파일시스템 관리 |
firewalld | Firewalld 관리 |
iptables | iptables 관리 |
lvg | LVM 볼륨 그룹 관리 |
lvol | LVM 논리 볼륨 관리 |
mount | mount 관리 |
pared | 파티션 관리 |
ping | 원격 호스트 연결 시도 |
reboot | 호스트 재부팅 |
service | 서비스 관리 |
ufw | UFW 방화벽 관리 |
3. 기타 플러그인 확인
ansible-doc -t <plugin_type> -l
플러그인 종류
become | cache | callback | cliconf | connection |
httpapi | inventory | netconf | lookup | shell |
module (default) | strategy | vars |
SMALL