Ansible 정리 - Modules
- 1 minutes read - 164 wordscommand module
remote node에 command를 실행해주는 모듈
command module은 free_form parameter이다.
key=value pair parameter가 없어도 됨
자유롭게 parameter가 설정이 가능하다는 의미
- name: Run command if /path/to/database does not exist (without 'args').
command: /usr/bin/make_database.sh db_user db_name creates=/path/to/database
copy module은 정해진 paramenter 만 들어감 (src, dest
)
- name : Copy file
copy: src=/source_file dest=/dest_file
script module
local에 있는 (ansible-controller) script를 원격에서 실행한다
servcie module
서비스를 재시작, 중지, 시작하는데 사용하는 모듈
tasks:
- name: Start db
service:
name: postgresql
state: started
idempotency 멱등성: ansible에서 이 의미는
state를 started로 설정하면 started가 상태가 아닐때만 시도하고
이미 started 상태라면 해당 task는 실행되지 않는다
lineinfile
파일 안의 contents를 replace하거나 add하는 모듈
-
name: 'Execute a script on all web server nodes and start httpd service'
hosts: web_nodes
tasks:
-
name: 'Update entry into /etc/resolv.conf'
lineinfile:
path: /etc/resolv.conf
line: 'nameserver 10.1.250.10'
-
name: 'Create a new user'
user:
name: web_user
uid: 1040
group: developers
-
name: 'Execute a script'
script: /tmp/install_script.sh
-
name: 'Start httpd service'
service:
name: httpd
state: present