簡體   English   中英

Ansible inventory.aws_ec2.yml 標簽

[英]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_stageEnvironment_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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM