Inventory
inventory.txt
# Web Servers
web1 ansible_host=server1.company.com ansible_connection=ssh ansible_user=root ansible_ssh_pass=Password123!
web2 ansible_host=server2.company.com ansible_connection=ssh ansible_user=root ansible_ssh_pass=Password123!
# Localhost
localhost ansible_connection=localhost
# Database Servers
db1 ansible_host=server3.company.com ansible_connection=winrm ansible_user=administrator ansible_password=Password123!
[web_servers]
web1
web2
[db_servers]
db1
[all_servers:children]
web_servers
db_servers
inventory parameters
항목 |
값 (예시) |
ansible_connection |
ssh, localhost, winrm |
ansible_port |
22 |
ansible_user |
root |
ansible_ssh_pass |
password |
Ansible Command
# ansible -i <inventory> -m <module> <hosts>
ansible -i inventory.txt -m ping web1
# ansible -i <inventory> -a <command> <hosts>
ansible -i inventory.txt -a "ls /home" web1
설명
- inventory 파일은 ini 파일 형식
- -i 옵션으로 inventory 파일을 명시하지 않으면 /etc/ansible/hosts 를 사용
- inventory 파일에 명시하지 않아도 ansible 에서 default 로 만들어 주는 all group 이 있다.
참고: https://www.udemy.com/course/learn-ansible/