0

我刚刚开始使用 Ansible,并且在编写了如下所述的小清单之后

vagrant@acs:~/ex2$ cat prod_inventory
web1 192.168.33.20
db1 192.168.33.30
[webserver]
web1

[dbserver]
db1

[all:children]
webserver
dbserver

[all:vars]
ansible_ssh_user=vagrant
ansible_ssh_pass=vagrant

使用 ping 模块时出现以下错误

vagrant@acs:~/ex2$ ansible all -i prod_inventory -m ping
ERROR: Invalid ini entry: 192.168.33.20 - need more than 1 value to unpack
vagrant@acs:~/ex2$

没有得到我在这里缺少的东西。

请帮忙

4

3 回答 3

1

您的库存文件的前两行不正确:

web1 192.168.33.20
db1 192.168.33.30

如果要为主机分配 IP 地址,则需要使用正确的语法:

[webserver]
web1 ansible_host=192.168.33.20

[dbserver]
db1 ansible_host=192.168.33.30

在随机尝试之前先阅读文档。明确规定:

假设您只有静态 IP,并且想要设置一些存在于主机文件中的别名,或者您正在通过隧道进行连接。您还可以这样描述主机:

jumper ansible_port=5555 ansible_host=192.0.2.50
于 2017-03-05T14:32:13.223 回答
1

您错过了 key=value 库存格式。

web1 ansible_host=192.168.33.20
db1 ansible_host=192.168.33.30
[webserver]
web1

[dbserver]
db1

[all:children]
webserver
dbserver

[all:vars]
ansible_ssh_user=vagrant
ansible_ssh_pass=vagrant
于 2017-03-05T14:36:06.960 回答
-2

笔记

Ansible 2.0 已弃用sshfrom ansible_ssh_useransible_ssh_hostansible_ssh_portto 成为ansible_useransible_hostansible_port. 如果您使用的是 2.0 之前的 Ansible 版本,则应继续使用旧样式变量 ( ansible_ssh_*)。在旧版本的 Ansible 中,这些较短的变量会在没有警告的情况下被忽略。

http://docs.ansible.com/ansible/latest/intro_inventory.html

于 2018-01-25T11:44:04.070 回答