Я использую ansible для настройки и развертывания нескольких серверов в ec2. Поскольку эти серверы часто меняются, я бы хотел использовать динамическую инвентаризацию. Я установил ec2.py и ec2.ini на моем сервере jenkins (здесь запускаются скрипты ansible), но при запуске playbook у меня возникает проблема:
ERROR! Specified --limit does not match any hosts
Это явно означает, что мои хосты выбираются неправильно. Когда я бегу:
./ec2.py --list >> aws_example.json
в aws_example.json
все выглядит хорошо.
Я пытаюсь выбрать серверы на основе двух тегов: Name и environment. Например, у меня есть сервер с тегом «Имя» - «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
Ни одна из этих конфигураций не работает. Я также не могу найти много документации по этим параметрам, поэтому я не уверен, как правильно их настроить. Может кто-то указать мне верное направление?