You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过自定义名称/IP外部主机列表执行Ansible playbook

Ansible 外部独立主机清单配置及顺序执行操作指南

1 准备外部主机清单文件

1.1 TXT格式清单

新建文本文件(例如custom_hosts.txt),直接按你需要的执行顺序逐行填写主机地址/别名即可,示例内容:

192.168.1.10
web01.example.com
192.168.1.12
db01.example.com

1.2 YML格式清单

新建YAML文件(例如custom_hosts.yml),按期望的执行顺序填写主机,示例内容:

all:
  hosts:
    192.168.1.10:
    web01.example.com:
    192.168.1.12:
    db01.example.com:

2 调用外部清单执行playbook

运行playbook时通过-i参数指定你编写的外部清单文件即可,不需要修改默认inventory配置:

# 调用TXT清单
ansible-playbook -i custom_hosts.txt your_playbook.yml

# 调用YML清单
ansible-playbook -i custom_hosts.yml your_playbook.yml

3 强制按清单定义顺序执行

默认Ansible会按字母序排序主机,要严格按照你写的清单顺序执行,做如下配置即可:

3.1 单playbook生效配置

在对应play的头部添加order: inventory参数即可,示例:

---
- name: 自定义顺序执行任务
  hosts: all
  order: inventory # 核心配置,指定按清单定义顺序执行
  gather_facts: true
  tasks:
    # 此处为你原有playbook的任务列表

3.2 全局生效配置

如果需要所有playbook都默认按清单顺序执行,修改ansible.cfg文件,在[defaults]段落添加如下配置:

[defaults]
inventory_order = inventory

4 额外注意事项

  • 如果需要严格逐台执行、完全避免并行执行打乱顺序,可以在执行命令中添加-f 1参数,限制并发数为1:
    ansible-playbook -i custom_hosts.txt your_playbook.yml -f 1
    
  • 清单文件中不要配置随机排序相关参数,避免覆盖预设顺序

内容的提问来源于stack exchange,提问作者Cristian Andres Gil Vlla

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 03:24:02