ansible中的inventory.ini 文件详解

06-01 1088阅读

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.com
      http_port=80
      max_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中的inventory.ini 文件详解
    (图片来源网络,侵删)
    ansible中的inventory.ini 文件详解
    (图片来源网络,侵删)
    ansible中的inventory.ini 文件详解
    (图片来源网络,侵删)
免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们。

目录[+]

取消
微信二维码
微信二维码
支付宝二维码