Tom*_*erz 10 linux ansible ansible-2.x
我正在使用VirtualBox运行16.04 Ubuntu桌面计算机。此VM已安装Ansible 2.4.0。我试图运行一个临时的ansible命令只是为了证明它可以工作(我正在上在线课程)。为了模拟小型服务器场,我使用了lxc(Linux容器),并且其中三个正在运行:
root@tomasz-VirtualBox:/home/tomasz/ansible# lxc-ls --fancy
NAME STATE   AUTOSTART GROUPS IPV4       IPV6 
db1  RUNNING 0         -      10.0.3.248 -    
web1 RUNNING 0         -      10.0.3.110 -    
web2 RUNNING 0         -      10.0.3.226 -
我可以SSH到任何这些服务器,但是当我尝试运行一次性ansible命令时,例如:
root@tomasz-VirtualBox:/home/tomasz/ansible# ansible 10.0.3.248 -m ping -u ubuntu
我收到以下错误,没有匹配库存:
 [WARNING]: No inventory was parsed, only implicit localhost is available
 [WARNING]: provided hosts list is empty, only localhost is available
 [WARNING]: Could not match supplied host pattern, ignoring: 10.0.3.248
 [WARNING]: No hosts matched, nothing to do
老实说,我感到困惑,作为Ansible的新手,我不知道该如何推进。似乎是一个简单的问题,在stackoverflow上没有遇到任何类似的问题。非常感谢您的提示!
我直接在命令中提供了该主机的IP地址。根据我的理解,在这种情况下,清单文件是不相关的。
错误。您指定主机模式,该模式应与清单中的主机匹配。库存是Ansible的必需品。
有一个选项可以指定“内联”库存。对于您的情况:
ansible all -i '10.0.3.248,' -m ping -u ubuntu
在此示例中:主机模式为all,清单是单个主机的列表10.0.3.248。
最后请注意逗号-这很重要,这样Ansible可以理解它是嵌入式清单,而不是文件路径。