我一直在使用服务器配置管理工具 Ansible,它的使用通常取决于对包含任意主机名的本地清单文件的引用。例如,
# file: my_hosts
[webservers]
web1
web2
使用类似上面的东西,我可以做很多事情:我可以启动新实例并配置它们。但是,除非我将新创建的实例的 IP 写入 /etc/hosts 或类似文件,否则我无法仅依靠my_hosts
.
有没有一种方法可以提供稳定的名称my_hosts
(也许是一些动态 DNS 服务),以便我可以提前命名我的新服务器,然后直接引用它们?
换句话说,假设人们对可能经常创建或删除的服务器的公共名称不关心,那么在它们存在时引用它们的最佳方式是什么?
答案1
您使用什么云服务?根据您使用的云,您应该查看 Ansible 动态清单。
Ansible 清单支持 IP 地址和 FQDN 地址,而不仅仅是任意地址,因此如果您在创建主机时创建 DNS 条目,则可以引用这些条目。
如果您需要将主机添加到剧本中间的清单中,您可以使用 add_host 模块。这会将主机添加到内存中的清单中,put 不会将其保存到文件中。