ansible - Ansible:连接到没有 DNS 或 /etc/hosts 解析的节点
问题描述
我有一个动态库存脚本,它输出以下内容。
"NODE_A": {
"inventory_hostname": "10.0.2.6",
"inventory_lparname": "NODE_A"
}
节点无法通过 DNS 或其他方式解析,因为该网络是某种隔离的“管理”局域网。到目前为止,我运行了一个 Play,它修改了本地 /etc/hosts 文件以启用名称解析。由于 Ansible 控制器要转移到外地机器上,这已经不可能了。所以最大的问题是如何进行。我如何指示 Ansible 连接到 IP 地址而不是主机名,我可以分别使用“inventory_hostname”而不是“ansible_hostname”作为连接字符串,但保持主机名显示在 Play Recap 中?
解决方案
我如何指示 Ansible 连接到 IP 地址而不是主机名,我可以分别使用“inventory_hostname”而不是“ansible_hostname”作为连接字符串,但保持主机名显示在 Play Recap 中?
处理此问题的正常方法是将库存主机名设置为“友好”名称,然后设置ansible_hostname
为 IP 地址。也就是说,如果您的清单脚本报告了一个名为“host0”的主机,那么在调用--host host0
它时应该会产生:
{
"inventory_hostname": "host0",
"ansible_host": "10.0.2.6",
}
您将host0
在 playbook 输出中看到该名称,但 ansible 将使用该 IP 地址进行连接。
推荐阅读
- pine-script - 月/年的第一天市场开放时间
- python - '未解决的参考错误''从 webdriver_manager.chrome 导入 ChromeDriverManager
- python - Python条形图y轴与平均值
- python - python argparse:使选项互斥
- java - 如何在 Apache Camel 中使用动态索引将列表中的项目获取为简单语句?
- assembly - 从 nasm 转换为 gas 组装语法
- javascript - 使用Javascript删除所有项目后如何显示“购物车为空”?
- excel - 如何保护某些范围?
- python - Python 排序列表插入
- html - 带有动态 Wordpress 内容的 CSS 首字下沉