Ansible:从命令行覆盖库存的 ansible_host
Ansible: overwrite inventory's ansible_host from command line
我在hosts
有一个简单的库存:
dockermachine ansible_host=10.10.10.10
我需要能够从命令行提供我希望的任何其他 IP,覆盖默认值,例如:
ansible-playbook -i hosts@dockermachine.ansible_host=11.11.11.11 site.yml
我该怎么做?
如果你的库存真的那么简单,你可能没有主机名也能活下去。从您当前的默认清单中删除该条目。确保您的 playbook 针对 all
组并使用单个主机 ip 清单启动您的 playbook:
ansible-playbook -i 10.10.10.11, my_playbook.yml
注意:IP 后的尾随逗号不是错误,它必须存在,以便 -i
参数后的 IP 被解释为 comma separated list of hosts 而不是清单文件路径.
我在hosts
有一个简单的库存:
dockermachine ansible_host=10.10.10.10
我需要能够从命令行提供我希望的任何其他 IP,覆盖默认值,例如:
ansible-playbook -i hosts@dockermachine.ansible_host=11.11.11.11 site.yml
我该怎么做?
如果你的库存真的那么简单,你可能没有主机名也能活下去。从您当前的默认清单中删除该条目。确保您的 playbook 针对 all
组并使用单个主机 ip 清单启动您的 playbook:
ansible-playbook -i 10.10.10.11, my_playbook.yml
注意:IP 后的尾随逗号不是错误,它必须存在,以便 -i
参数后的 IP 被解释为 comma separated list of hosts 而不是清单文件路径.