如何在Ansible清单中指定其他域名

Ask*_*arn 6 ansible

我正在使用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
Run Code Online (Sandbox Code Playgroud)

有没有办法为库存中的服务器组指定默认域?我尝试andible_domain在库存文件中添加变量作为变量但不起作用.

yda*_*coR 12

默认情况下,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
Run Code Online (Sandbox Code Playgroud)