我正在使用Linux VM管理许多Linux机箱(在不同的域中),我发现在每个服务器上使用FQDN很烦人,因为我们的内部域名很长。
例如
[web]
serve1.part.one.of.very.long.internal.domain.name.com
anotherserver.part.one.of.very.long.internal.domain.name.com
有没有办法为库存中的服务器组指定默认域?我尝试在库存文件中添加andible_domain
变量作为变量但不起作用。
答案 0 :(得分:10)
默认情况下,Ansible会假设你的inventory_hostname
(清单文件中第一个字符串)是你用来连接它的那个。
但是,您可以使用ansible_host
(或旧版本中的ansible_ssh_host
)来覆盖此内容,如果由于某些原因不是主机或域的FQDN,这将非常有用主机不在您的DNS搜索域列表中。
所以你可以这样做:
[all:vars]
host_domain=part.one.of.very.long.internal.domain.name.com
ansible_host='{{ inventory_hostname }}.{{ host_domain }}'
[web]
server1
anotherserver