主机清单inventory

主机清单的基本配置inventory

主机清单用于定义Ansible管理的目标主机及其相关配置

  1. 主机组
[nodes] 
192.168.1.21
192.168.1.22
  1. 增加配置项

每个主机都可以添加主机名或IP地址、SSH登录信息(如用户名、密码和端口)

常用可定义的配置项
ansible_ssh_host=Ip hostname #指定远程主机,可用IP或主机名
ansible_ssh_port=PORT #指定SSH端口
ansible_ssh_user=UNAME #指定SSH用户名
ansible_ssh_pass=PWD #显式指定SSH密码
ansible_sudo_pass=PwD #显式指定SUDO密码
ansible_sudo_exe=/PATH/CMD #sudo 命令路径(适用于1.8及以上版本)
ansible_connection=localsshlparamikoldocker #与主机的连接类型
ansible_ssh_private_key_file=/PATH/FILE #SSH私钥文件
ansible_shell_type=sh|csh|fish #目标系统的she11类型.默认 sh
ansible_python_interpreter=/PATH/PYTHON #目标主机的python路径用于系统中有多个Python版本,或默认/usr/bin/python不存在

[test1]	
node[1:4] ansible_ssh_user=root ansible_ssh_port=22 ansible_ssh_pass='12345'
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'
  1. 组和组变量
#嵌套组,关键字children
[cluster:children] 
test1
node

# 添加组变量,变量可以在playbook中引用
# 例如,为所有web服务器定义一个默认的web根目录
[webservers:vars]
ansible_web_root=/var/www/html

# 或者为所有数据库服务器定义一个默认的数据库备份目录
[dbservers:vars]
ansible_backup_dir=/backup/db

主机清单分成多个文件

  1. 创建一个名为inventory的目录
  2. 创建一个名为webservers.ini的文件来存放所有的Web服务器信息,再创建一个名为dbservers.ini的文件来存放所有的数据库服务器信息。
  3. 在inventory目录下,还需要一个名为inventory(或者你可以命名为其他名字,但需要在ansible命令中指定)的主inventory文件
# inventory/inventory

# 包含Web服务器组
[webservers:children]
@webservers.ini

# 包含数据库服务器组
[dbservers:children]
@dbservers.ini
  1. ansible-playbook -i inventory/inventory my_playbook.yml
posted @   靖11  阅读(12)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· 实操Deepseek接入个人知识库
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· 【.NET】调用本地 Deepseek 模型
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库
点击右上角即可分享
微信分享提示