我有一个动态库存脚本,它输出以下内容。
"NODE_A": {
"inventory_hostname": "10.0.2.6",
"inventory_lparname": "NODE_A"
}由于这个网络是某种孤立的“管理”局域网,所以这些节点不能通过DNS或其他方式解决。直到现在,我有一个剧本运行,它修改本地/etc/host文件以启用名称解析。由于Ansible Controller将移到国外的机器,这是不可能的。所以最大的问题是如何进行。如何指示Ansible连接到IP地址而不是主机名,可以使用"inventory_hostname“而不是"ansible_hostname”作为连接字符串,但要将主机名显示在Play Recap中?
发布于 2019-05-07 13:57:26
如何指示Ansible连接到IP地址而不是主机名,可以使用"inventory_hostname“而不是"ansible_hostname”作为连接字符串,但要将主机名显示在Play Recap中?
处理此问题的通常方法是将库存主机名设置为“友好”名称,然后将ansible_hostname设置为ip地址。也就是说,如果库存脚本报告了一个名为"host0“的主机,那么当使用--host host0调用时,它应该生成:
{
"inventory_hostname": "host0",
"ansible_host": "10.0.2.6",
}您将在播放本输出中看到名称host0,但ansible将使用ip地址进行连接。
发布于 2019-05-07 10:52:59
一个选项是扩展动态库存Scrip以添加或替换库存目录中的节点。例如,INI格式
NODE_A ansible_host=10.0.2.6https://stackoverflow.com/questions/56019888
复制相似问题