我正在使用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 -
Run Code Online (Sandbox Code Playgroud)
我可以SSH到任何这些服务器,但是当我尝试运行一次性ansible命令时,例如:
root@tomasz-VirtualBox:/home/tomasz/ansible# ansible 10.0.3.248 -m ping -u ubuntu
Run Code Online (Sandbox Code Playgroud)
我收到以下错误,没有匹配库存:
[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
Run Code Online (Sandbox Code Playgroud)
老实说,我感到困惑,作为Ansible的新手,我不知道该如何推进。似乎是一个简单的问题,在stackoverflow上没有遇到任何类似的问题。非常感谢您的提示!
在我的剧本中,我想在 4 个负载均衡器上运行委托任务。我可以简单地delegate_to: loadbalancers_group在我的任务中使用吗?会delegate_to接受团体而不是单个主持人吗?我不确定 Ansible 文档所说的:
delegate_to - 执行任务的主机而不是目标(inventory_hostname)