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下设置的变量?