如何格式化Amazon EC2主机的简单Ansible库存文件?

时间:2019-03-13 21:52:25

标签: ansible

我无法运行示例临时命令:

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 

我需要添加更多内容吗?我需要用特定的扩展名保存它吗?非常感谢您的帮助。

1 个答案:

答案 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