文档指定我可以使用 -i 在特定主机上运行我的剧本:
模式和 ansible-playbook 标志
您可以使用命令行选项更改剧本中定义的模式的行为。例如,您可以通过指定 -i 127.0.0.2, 运行定义主机的剧本:所有主机上。即使您的目标主机未在您的清单中定义,这也有效。您还可以使用 --limit 标志限制您针对特定运行的目标主机:*
但是,我尝试运行ansible-playbook <playbook> -i <new_hostname> -u <username>并且使用的库存仍然是我的默认库存。如何正确使用它?
引自“man ansible”
-i, --inventory, --inventory-file 指定库存主机路径或逗号分隔的主机列表。
要将单个主机指定为“逗号分隔的主机列表”,仍然需要逗号。例如,剧本
shell> cat playbook.yml
- hosts: all
gather_facts: false
tasks:
- debug:
var: inventory_hostname
Run Code Online (Sandbox Code Playgroud)
给
shell> ansible-playbook -i test_99, playbook.yml
PLAY [all] ****
TASK [debug] ****
ok: [test_99] =>
inventory_hostname: test_99
Run Code Online (Sandbox Code Playgroud)
如果主机后没有逗号,Ansible 将参数作为“清单主机路径”。
shell> ansible-playbook -i test_99 playbook.yml
[WARNING]: Unable to parse /scratch/test_99 as an inventory source
[WARNING]: No inventory was parsed, only implicit localhost is available
[WARNING]: provided hosts list is empty, only localhost is available. Note that the implicit
localhost does not match 'all'
PLAY [all] ****
skipping: no hosts matched
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2843 次 |
| 最近记录: |