Ansible>别名以在库存中托管

时间:2018-03-13 18:02:38

标签: 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

是否可以为此主机添加别名?

如果我使用它:

[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}}创建一个别名。

我该怎么做?

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