[英]AWS Ansible Dynamic Inventory targeting hosts or making dynamic groups using multiple tags
[英]Ansible inventory.aws_ec2.yml tags
有人可以解釋一下如何在 inventory.aws_ec2.yml 文件中定義值嗎?
我想在下面提到的標簽實例上執行 ansible-playbook。 我需要在 inventory.aws_ec2.yml 中定義 Environment:stage 的地方。 即在鍵或前綴?
tags:
Environment: stage
下面是 inventory.aws_ec2.yml 文件。
plugin: aws_ec2
regions:
- us-east-2
- us-west-2
keyed_groups:
# Add hosts to tag name groups
# - key: tags.Role
# prefix: role_
# separator: ""
- key: tags.Environment
prefix: stage
separator: ""
當你使用key: tags.Environment
時,這個標簽的每一個不同的值都會在 ansible 中創建一個組, prefix
是在 ansible 中創建的每個組的名稱添加一個前綴(我建議你在這種情況下使用"Environment"
) 和separator
是在標簽的前綴和值之間添加字符(默認為“_”)。 一種編寫 aws_ec2.yml 的方法是
plugin: aws_ec2
regions:
- us-east-2
- us-west-2
keyed_groups:
- key: tags.Environment
prefix: Environment
separator: "_"
例如,如果您有 4 個帶標簽的 ec2 實例:Environment=stage 和 2 個帶標簽的 ec2 實例:Environment=prod,您將在 ansible、 Environment_stage
和Environment_prod
中有兩個組,那么您可以通過這種方式創建您的劇本
- name: Testing my groups
hosts: Environment_stage
gather_facts: yes
tasks:
- name: Debug my ec2 instances
debug:
msg: "hostname: {{ ansible_hostname }}"
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.