pra*_*mar 9 ansible ansible-2.x ansible-inventory
我有一本包含两种不同剧本的剧本
Sample.yml
- name : Play1
hosts: Host1
tasks:
...
- name: Play2
hosts: Host2
tasks:
...
Run Code Online (Sandbox Code Playgroud)
我需要用两个不同的主机(Host1 和 Host2)运行这个剧本,这两个不同的主机存在于库存/目录下的两个单独的文件(Hostfile1 和 Hostfile2)中。
inventory/
Hostfile1
Hostfile2
.
.
HostfileN
Run Code Online (Sandbox Code Playgroud)
我想知道如何在运行剧本时包含两个不同的主机文件。我知道通过在命令行中包含整个文件夹(库存/)我们可以实现这一点,但我在库存/ 文件夹中有很多主机文件,因此此选项将加载未使用的主机文件。
我试着像下面一样运行
ansible-playbook -i inventory/Hostfile1,Hostfile2 sample.yml
Run Code Online (Sandbox Code Playgroud)
但这没有用。那么,有谁知道如何通过在命令行中提供多个主机文件来运行剧本?
小智 20
只需简单地-i多次提供
ansible-playbook -i inventory/Hostfile1 -i inventory/Hostfile2 sample.yml
小智 5
我想澄清上面的答案。该提案不起作用的原因是,如果 ansible 在 -i 标志的值中看到“,”,它会将其视为库存列表。使用你的例子:
ansible-playbook -i inventory/Hostfile1,Hostfile2 样本.yml
Ansible 将尝试在机器“inventory/Hostfile1”和“Hostfile2”上运行剧本“sample.yml”。
这就是为什么您必须多次指定 -i 的原因。
| 归档时间: |
|
| 查看次数: |
9844 次 |
| 最近记录: |