主机清单的基本配置
# inventory
#主机清单用于定义Ansible管理的目标主机及其相关配置。
#每个主机条目包括主机名或IP地址、SSH登录信息(如用户名、密码和端口)
#格式是:主机名或IP地址 ansible_ssh_host=实际IP地址 ansible_ssh_port=22 ansible_ssh_user=admin ansible_ssh_pass='12345'
#分组
[test]
dbserver1 ansible_ssh_host=192.168.1.20 ansible_ssh_user=root ansible_ssh_port=22 ansible_ssh_pass='12345'
dbserver2 ansible_ssh_host=192.168.1.21 ansible_ssh_user=root ansible_ssh_port=22 ansible_ssh_pass='12345'
[node]
192.168.1.21
192.168.1.22
#嵌套,关键字children
[cluster:children]
test
node
# 变量定义,变量可以在playbook中引用
# 例如,为所有web服务器定义一个默认的web根目录
[webservers:vars]
ansible_web_root=/var/www/html
# 或者为所有数据库服务器定义一个默认的数据库备份目录
[dbservers:vars]
ansible_backup_dir=/backup/db
主机清单分成多个文件
- 创建一个名为inventory的目录
- 创建一个名为webservers.ini的文件来存放所有的Web服务器信息,再创建一个名为dbservers.ini的文件来存放所有的数据库服务器信息。
- 在inventory目录下,还需要一个名为inventory(或者你可以命名为其他名字,但需要在ansible命令中指定)的主inventory文件
# inventory/inventory
# 包含Web服务器组
[webservers:children]
@webservers.ini
# 包含数据库服务器组
[dbservers:children]
@dbservers.ini
- ansible-playbook -i inventory/inventory my_playbook.yml