我无法运行示例临时命令:
ansible -m ping hosts --private-key=~/home/ec2-user/ -u ec2-user
错误是:
[WARNING]: Could not match supplied host pattern, ignoring: hosts
[WARNING]: No hosts matched, nothing to do
主机名是:ip-10-200-2-21.us-west-2.compute.internal
我可以使用此主机名从我的控制节点ping主机。
我用touch命令创建了hosts文件,它看起来像这样:
ip-10-200-2-21.us-west-2.compute.internal
我需要添加更多内容吗?我需要用特定的扩展名保存它吗?非常感谢您的帮助。
答案 0 :(得分:0)
要运行临时命令,可以使用以下语法运行命令
ansible <HOST_GROUP> -m <MODULE_NAME>
这是假设您的清单文件位于/ etc / ansible / hosts中。如果您的库存文件位于其他位置,我们可以使用命令
ansible <HOST_GROUP> -m <MODULE_NAME> -i <LOCATION_TO_INVENTORY_FILE>
更改清单文件的位置
现在,缺少的是库存文件中应包含主机组。像这样:
[ec2]
ip-10-200-2-21.us-west-2.compute.internal
other-ec2-host-that-needs-to-be-pinged.us-west-2.compute.internal
主机组是方括号[]之间的文本,在本例中为ec2。现在,我们可以使用ec2主机组引用所有ec2主机。
要ping ec2组中的所有主机(假设清单文件是/ etc / ansible / hosts),请运行
ansible ec2 -m ping -i /etc/ansible/hosts