gpt4 book ai didi

ansible - 如何列出 Ansible 播放中当前所有目标主机

转载 作者:行者123 更新时间:2023-12-02 06:30:13 25 4
gpt4 key购买 nike

我正在运行 Ansible play,并希望列出它所针对的所有主机。 Ansible 文档 mentions that this is possible ,但他们的方法似乎不适用于复杂的目标群体(如主机:web_servers:&data_center_primary)

我确信这是可行的,但似乎找不到任何进一步的文档。是否存在包含所有当前目标主机的 var?

最佳答案

您正在寻找“play_hosts”变量

---
- hosts: all

tasks:
- name: Create a group of all hosts by app_type
group_by: key={{app_type}}

- debug: msg="groups={{groups}}"
run_once: true

- hosts: web:&some_other_group

tasks:
- debug: msg="play_hosts={{play_hosts}}"
run_once: true

会导致

TASK: [Create a group of all hosts by app_type] *******************************
changed: [web1] => {"changed": true, "groups": {"web": ["web1", "web2"], "load_balancer": ["web3"]}}

TASK: [debug msg="play_hosts={{play_hosts}}"] *********************************
ok: [web1] => {
"msg": "play_hosts=['web1']"
}

库存:

[proxy]
web1 app_type=web
web2 app_type=web
web3 app_type=load_balancer

[some_other_group]
web1
web3

关于ansible - 如何列出 Ansible 播放中当前所有目标主机,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28709501/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com