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

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 可视化查看主机组结构。

http://www.xdnf.cn/news/9572.html

相关文章:

  • Ansible模块——Ansible的安装!
  • k8s Headless Service
  • 懒人云电脑方案:飞牛NAS远程唤醒 + 节点小宝一键唤醒、远程控制Windows!
  • day10机器学习的全流程
  • 嵌入式通用集成电路卡市场潜力报告:物联网浪潮下的机遇与挑战剖析
  • 政务小程序TOP3交互设计分析:便民服务的隐藏心机
  • C语言 文件操作(2)
  • 实验三 企业网络搭建及应用
  • 基于线结构光模型的工件孔洞检查
  • 第五章 面向对象(进阶)
  • CC工具箱2.0.6更新_免费_150+工具
  • 智能外呼机器人——客户筛选
  • 桃黑黑反斗战
  • Doris主键模型使用异步物化视图
  • Linux——数据链路层
  • 仿DeepSeek AI问答系统完整版(带RAG本地知识库+联网搜索+深度思考) +springboot+vue3
  • JS手写代码篇---Pomise.race
  • 2024 CKA模拟系统制作 | Step-By-Step | 11、题目搭建-查看可用节点数量
  • Mysql基础增删改查语句
  • XCTF-web-file_include
  • 智慧财务系统:企业数字化转型的核心引擎
  • [yolov11改进系列]基于yolov11引入混合标准卷积与深度可分离卷积GSConv用于轻量化网络的python源码+训练源码
  • Android获取设备信息
  • github actions入门指南
  • .NET 9正式发布,亮点是.NET Aspire和AI
  • Linux `vi/vim` 编辑器深度解析与高阶应用指南
  • Golang | 搜索哨兵-对接分布式gRPC服务
  • vue修改配置文件.env.development不生效
  • 2025-05-28 学习记录--Python-文件
  • 对象检测新纪元:D-FINE 模型超越 YOLO,带来更精准的实时检测!