Ansible>;目录中主机的别名
我有一个清单,为了测试的目的,它对所有组使用相同的主机:Ansible>;目录中主机的别名,ansible,inventory,Ansible,Inventory,我有一个清单,为了测试的目的,它对所有组使用相同的主机: [webserver] 127.0.0.1 ansible_user=root ansible_ssh_pass=somepassword [dbserver] 127.0.0.1 ansible_user=root ansible_ssh_pass=somepassword [storageserver] 127.0.0.1 ansible_user=root ansible_ssh_pass=somepassword 是否可以为
[webserver]
127.0.0.1 ansible_user=root ansible_ssh_pass=somepassword
[dbserver]
127.0.0.1 ansible_user=root ansible_ssh_pass=somepassword
[storageserver]
127.0.0.1 ansible_user=root ansible_ssh_pass=somepassword
是否可以为该主机设置别名
如果我使用这个:
[localvm]
127.0.0.1 ansible_user=root ansible_ssh_pass=somepassword
[webserver]
localvm
[dbserver]
localvm
[storageserver]
localvm
我得到fatal:[localvm]:无法访问!=>{“changed”:false,“msg”:“无法通过ssh连接到主机:ssh:无法解析主机名localvm:名称或服务未知\r\n”,“unreachable”:true}
这项工作:
[localvm]
127.0.0.1 ansible_user=root ansible_ssh_pass=somepassword
[webserver:children]
localvm
[dbserver:children]
localvm
[storageserver:children]
localvm
i、 我将localvm
指定为一个组(),但这不是我想要做的。我想为127.0.0.1
创建一个名为localvm
的别名
如何做到这一点?如果希望主机的清单名称与实际主机名称不同,可以使用
ansible\u host
变量。看
像这样:
[webserver]
localvm ansible_host=127.0.0.1 ansible_user=root ansible_ssh_pass=somepassword
[dbserver]
localvm
[storageserver]
localvm
我经常将主机定义为未分组的条目,然后将它们添加到所需的组中,如下所示:
www1 ansible_host=10.10.10.10
db1 ansible_host=10.10.10.20
[web]
www1
[database]
db1
为什么您不想使用
:children
?这有什么问题吗?因为文档说这是为了创建组组(),而我想创建一个主机别名。这是否意味着列出的每个其他本地VM都会自动拾取您在webserver下设置的变量?