Ansible - 작업의 그룹 변수에 액세스

Ansible - 작업의 그룹 변수에 액세스

내 재고 파일이 그룹 변수로 구성되어 있습니다. 예:

all:
  children:
    europe:
      vars:
        network_id: 3
        network_name: "europe-eu"
      hosts:
        europe-eu-1254:
          ansible_host: 8.8.8.8
          ansible_ssh_pass: password
          ansible_ssh_user: user
...

내 작업에서 그룹 변수를 가져오고 싶지만 방법을 모르겠습니다.

작업 예:

- name: Start latest container
  docker_container:
    name: "server-{{ hostvars[inventory_hostname].vars.network_name }}"
    image: "{{ docker_registry }}:{{ docker_tag }}"
    state: started
    recreate: yes
    network_mode: host
    oom_killer: no
    restart_policy: always
  become: yes
...

제 생각에는 이것은 {{ hostvars[inventory_hostname].vars.network_name }}올바른 접근 방식이 아닙니다.

답변1

변수를 인용하면 됩니다. 예를 들어, 스크립트

shell> cat playbook.yml
- hosts: all
  tasks:
    - debug:
        var: network_name
    - debug:
        msg: "{{ network_name }}"

주어진 (요약된)

shell> ansible-playbook playbook.yml

ok: [europe-eu-1254] => {
    "network_name": "europe-eu"
}
ok: [europe-eu-1254] => {
    "msg": "europe-eu"
}

관련 정보