如何访问ansible控制器主机名或ip?

问题描述 投票:0回答:4

我需要知道调用 ansible 的机器的主机名或 IP,而不是清单中的主机名或 IP。

访问此内容的最简单方法是什么?请注意,我需要在各种主机上执行的任务中使用此变量。

请注意,所有这些都不是有效答案: -

ansible_hostname
-
inventory_hostname

ansible
4个回答
8
投票

使用查找,它们始终在本地主机上执行。

例如:

{{lookup("pipe","hostname")}}

如果广泛使用该值,最好先做

set_fact
,否则每次引用时都会执行查找命令。


1
投票

不幸的是,此方法仅适用于独立的 Ansible 控制器/节点或 AWX(Ansible Tower)。但如何在新的 Ansible 自动化平台 (AAP) 上做到这一点呢?例如,我需要知道运行作业的 AAP 实例的 URL 中使用的名称。一般情况下,它可以指向负载均衡器端点。似乎不是一个包含名称的内置变量。


0
投票

在 set_fact 中使用时:适当使用引号我对引号有疑问,下面对我有用

controller_host: "{{lookup('pipe','hostname')}}"

0
投票

我知道这是老问题,仅供参考:ansible 控制器主机名位于 ansible_host 变量中。

© www.soinside.com 2019 - 2024. All rights reserved.