是否可以在 ansible 中定义主机别名,类似于 ssh 配置?

是否可以在 ansible 中定义主机别名,类似于 ssh 配置?

在 SSH 配置中,您可以使用以下格式列出指定同一主机的多个别名:

Host DEV-USA-BGW100 dev-usa-bgw100 USA100 usa100
    HostName 192.168.1.100
    User ansible

Host DEV-CAN-BGW101 dev-can-bgw101 CAN101 can101
    HostName 192.168.2.101
    User ansible

Host DEV-CAN-BGW102 dev-can-bgw102 CAN102 can102
    HostName 192.168.2.102
    User ansible

我希望能够做同样的事情ansible,但我不确定这是否可行。原因是我有时想在单个主机上测试单个命令,而不想逐字输入完整的正确主机名。

我一直在寻找,但找不到答案。我确实找到了一个页面,上面说默认情况下,ansible将在服务器上使用 OpenSSH,因此应该读取 SSH 配置文件。我对此进行了测试,但没有成功。

答案1

定义返回完全限定主机名的清单文件或脚本。然后使用模式

ansible '*can*101*' -m ping

或者,你可以库存中的群组足够深,其中组名是 1 或 2 个设备的别名。

在清单中使用不同的名称定义同一主机可能会导致对同一设备执行两次任务。

SSH 配置是 Ansible 无法察觉的单独名称解析。

相关内容