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

如何在执行Ansible Playbook时通过命令行指定多个清单文件

解决Ansible指定多个清单文件运行Playbook的问题

这个问题我之前也碰到过,你之前用逗号分隔的方式其实搞错了Ansible的参数逻辑——逗号是用来指定单个清单源内的多个主机,而不是多个独立的清单文件。正确的做法是重复使用-i参数来逐个指定清单文件:

ansible-playbook -i inventory/Hostfile1 -i inventory/Hostfile2 sample.yml

为什么之前的命令没生效?

你尝试的ansible-playbook -i inventory/Hostfile1,Hostfile2 sample.yml会被Ansible解析为:从当前清单源(未指定默认源时会用系统默认inventory文件)里查找名为inventory/Hostfile1和Hostfile2的主机,而不是读取这两个文件作为清单。这显然不是你想要的结果,所以命令自然没生效。

额外说明

  • 这个方法对静态清单文件和动态清单脚本都适用,需要多少个清单源,就重复多少次-i参数即可。
  • 用这种方式指定的多个清单,Ansible会自动合并它们的主机信息,同时只会加载你明确指定的文件,不会读取inventory目录下的其他无用文件,完全符合你的需求。

内容的提问来源于stack exchange,提问作者prasanna kumar

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.12 04:02:08