ansible を使用して、ec2 で複数のサーバーを構成およびデプロイしています。これらのサーバーは頻繁に変更されるため、動的インベントリを使用したいと考えています。jenkins サーバーに ec2.py と ec2.ini をセットアップしました (ここで ansible スクリプトが実行されます) が、プレイブックを実行すると問題が発生します。
ERROR! Specified --limit does not match any hosts
これは明らかに、ホストが正しく選択されていないことを意味します。私が実行すると:
./ec2.py --list >> aws_example.json
ですべてがよさそうaws_example.json
です。
名前と環境の 2 つのタグに基づいてサーバーを選択しようとしています。たとえば、'api' の 'Name' タグと 'production' の 'environment' タグを持つサーバーがあります。
私は次の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
さらに、次のタグを 1 つだけ使用してみましたhostname_variable
。
hostname_variable = tag_Name
次のようにコマンドを実行します。
ansible-playbook site.yml -i ec2.py -l api
これらの構成はどれも機能しません。また、これらの設定に関する多くのドキュメントを見つけることができないため、正しく設定する方法がわかりません。誰かが私を正しい方向に向けることができますか?