我正在使用 ansible 在 ec2 中配置和部署多个服务器。由于这些服务器经常变化,我想使用动态库存。我已经在我的 jenkins 服务器中设置了 ec2.py 和 ec2.ini(这是运行 ansible 脚本的地方),但是当我运行 playbook 时遇到了问题:
ERROR! Specified --limit does not match any hosts
这显然意味着我的主机没有被正确选择。当我运行时:
./ec2.py --list >> aws_example.json
一切看起来都很好aws_example.json
。
我正在尝试根据名称和环境这两个标签来选择服务器。例如,我有一个服务器,其“名称”标签为“api”,“环境”标签为“生产”。
我已经设置了destination_format_tags
这样的:
destination_format_tags = Name,environment
并按如下方式运行ansible:
ansible-playbook site.yml -i ec2.py -l api
我也试过改变hostname_variable
:
hostname_variable = tag_Name.tag_environment
并像这样运行命令:
ansible-playbook site.yml -i ec2.py -l api.production
此外,我还尝试过仅使用一个带有以下标签的标签hostname_variable
:
hostname_variable = tag_Name
并像这样运行命令:
ansible-playbook site.yml -i ec2.py -l api
这些配置都不起作用。我也找不到很多关于这些设置的文档,所以我不确定如何正确配置它。谁能指出我正确的方向?