当前位置: 首页 > news >正文

ansible中的inventory.ini 文件详解

1. 主机定义

主机是 Ansible 管理的最小单元,可以是 IP 或域名,支持直接定义或附加参数。

基础语法
# 直接定义主机(IP 或域名)
192.168.1.10
example.com# 定义主机并指定连接参数(如端口、用户等)
web1.example.com ansible_port=2222 ansible_user=admin
特殊参数(常用)
  • ansible_port: SSH 端口(默认 22)

  • ansible_user: SSH 用户名

  • ansible_ssh_private_key_file: 私钥路径

  • ansible_python_interpreter: 指定 Python 解释器路径(如系统默认非 Python3)


2. 主机组

主机组用于逻辑分类,方便批量操作。组名用 [] 定义,下方列成员。

示例
[web_servers]
web1.example.com
web2.example.com[db_servers]
db1.example.com
db2.example.com ansible_user=postgres  # 覆盖组变量
操作组
# 仅对 web_servers 组执行命令
ansible web_servers -m ping

3. 变量

变量可分配给 主机 或 ,优先级:主机变量 > 子组变量 > 父组变量。

主机变量
# 直接附加到主机行
web1.example.com http_port=80 max_requests=100# 或在下方缩进定义
web1.example.comhttp_port=80max_requests=100
组变量
[web_servers:vars]  # 定义组变量
http_port=80
backup_dir=/var/www[all:vars]          # 全局变量(所有主机生效)
ansible_python_interpreter=/usr/bin/python3

4. 子组

子组通过 :children 定义,继承父组的变量,支持嵌套层级。

示例
# 定义父组 app_servers,包含 web_servers 和 db_servers 子组
[app_servers:children]
web_servers
db_servers# 子组可继承父组变量
[app_servers:vars]
environment=production

完整示例

# 主机定义
controller ansible_connection=local# 主机组
[web_servers]
web1.example.com
web2.example.com[db_servers]
db1.example.com ansible_user=postgres# 子组
[app_servers:children]
web_servers
db_servers# 组变量
[web_servers:vars]
http_port=80[app_servers:vars]
deploy_env=prod# 全局变量
[all:vars]
ansible_python_interpreter=/usr/bin/python3

注意事项

  1. 变量优先级:主机变量 > 当前组变量 > 父组变量 > all 组变量。

  2. 建议将复杂变量拆分到 group_vars/ 和 host_vars/ 目录。

  3. 使用 ansible-inventory --graph 可视化查看主机组结构。

相关文章:

  • Ansible模块——Ansible的安装!
  • 每日C++ 5.28dddd
  • 微信小程序返回上一页监听
  • 【产品小白】京东外卖为何未独立成 APP
  • ToolsSet之:Json格式化
  • 【深度学习-pytorch篇】1. Pytorch矩阵操作与DataSet创建
  • Python后端开发实战:从0到1搭建高可用API服务
  • Linux命令行命令自动补全
  • vs中添加三方库的流程
  • webpack打包基本配置
  • GUI 编程——python
  • 干货|VR全景是什么?
  • 同源“平滑思想”的问题解法:正则化与拉普拉斯平滑
  • hi3516cv610分配多个 vb pool及查看vb信息
  • Linux的SHELL脚本基础
  • 在qt中使用c++实现与Twincat3 PLC变量通信
  • Kubernetes Dashboard 安装部署、访问与管理实战实验
  • VScode单双引号、分号格式
  • 【深度学习-pytorch篇】4. 正则化方法(Regularization Techniques)
  • ParakeetTDT0.6BV2,语音识别ASR,极速转录, 高精度英文转录,标点支持(附整合包)
  • 巩义做网站/合肥网站优化排名推广
  • 手机网站 收录/百度手机seo软件
  • 便捷的大连网站建设/域名大全查询
  • 对于网站建设提出建议/推广手段有哪些
  • 网站开发怎么拉客户/如何优化百度seo排名
  • 萍乡公司做网站/seo技术分享免费咨询