我有一个清单,为了测试的目的,它为所有组使用相同的主机:
[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]: UNREACHABLE! => {"changed": false, "msg": "Failed to connect to the host via ssh: ssh: Could not resolve hostname localvm: Name or service not known\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
即。我将localvm
指定为一个组(http://docs.ansible.com/ansible/latest/intro_inventory.html),但这不是我想要做的。我想为名为127.0.0.1
的{{1}}创建一个别名。
我该怎么做?
答案 0 :(得分:1)
如果您希望主机的库存名称与实际主机名不同,则可以使用ansible_host
变量。请参阅List of Behavioral Inventory Parameters。
像这样:
[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