ansible의 호스트 그룹에 구성을 바인딩하는 방법은 무엇입니까?

gk_2000

다음은 내 인벤토리 파일에서 구성을 정의하는 "작동"버전입니다. 인벤토리 파일 :

all:
  children:
    grp1:
      hosts:
        host1:
    grp2:
      children:
        subgrp1:
          vars:
            config_vars:
              name1: "value1"
              name2: "value2"
          hosts:
            host11:
            host12:
        subgrp2:
          vars:
            config_vars:
              name1: "value3"
              name2: "value4"
          hosts:
            host21:
            host22:
    grp3:
      hosts:
        host31:
        host32:

내 플레이 북은 다음과 같습니다.

---
- name: test play
  hosts: grp2
  connection: ssh
  gather_facts: no
  remote_user: ec2-user
  tasks:
    - debug:
        msg: "inventory_hostname = {{ inventory_hostname}} and item.key = {{ item.key }} and value = {{ item.value }} "
      when: "{{ item['key'] }} == config_vars "
      loop: "{{ lookup('dict', hostvars[inventory_hostname]) }}"

실행하면 다음 ansible-playbook -i hosts.yml p1.yml이 있습니다.

ok: [host22] => (item={'key': 'config_vars', 'value': {'name1': 'value3', 'name2': 'value4'}}) => {
...
ok: [host21] => (item={'key': 'config_vars', 'value': {'name1': 'value3', 'name2': 'value4'}}) => {
...
ok: [host11] => (item={'key': 'config_vars', 'value': {'name1': 'value1', 'name2': 'value2'}}) => {
...
ok: [host12] => (item={'key': 'config_vars', 'value': {'name1': 'value1', 'name2': 'value2'}}) => {

(각 그룹의 구성에 따라 name1 및 name2의 값이 어떻게 정렬되는지 참조)

내가 가지고있는 "작동하지 않는"구성은 인벤토리 파일에서 config_vars를 제거하고 대신 hosts.yml 구조와 일치하는 디렉토리 구조를 갖고 각 그룹의 디렉토리 아래에 config_vars dict를 붙여 넣습니다.

> cat group_vars/grp2/subgrp2/main.yml
config_vars:
  name1: "value3"
  name2: "value4"

> cat group_vars/grp2/subgrp1/main.yml
config_vars:
  name1: "value1"
  name2: "value2"

그런 다음 이전과 같이 명령을 다시 실행하면 다음이 표시됩니다.

ok: [host22] => (item={'key': 'config_vars', 'value': {'name1': 'value3', 'name2': 'value4'}}) => {
ok: [host12] => (item={'key': 'config_vars', 'value': {'name1': 'value3', 'name2': 'value4'}}) => {
ok: [host21] => (item={'key': 'config_vars', 'value': {'name1': 'value3', 'name2': 'value4'}}) => {
ok: [host11] => (item={'key': 'config_vars', 'value': {'name1': 'value3', 'name2': 'value4'}}) => {

(value1 및 value2가 차단됨)

왜 이런 일이 발생하는지 알고 있습니다. 이는 value3 및 value4가 나중에 읽혀 값 1과 value2를 대체하기 때문입니다. 내 질문은 다음과 같이 변수 구성을 구성 할 때 구성을 사용하여 그룹의 바인딩을 유지하는 방법입니다. 다른 방법으로해도 괜찮지 만 인벤토리 파일에서 변수를 가져 오면됩니다. 미리 감사드립니다.

블라디미르 보카

Q : " 구성을 사용하여 그룹의 바인딩을 유지하려면 어떻게해야합니까?"

A : group_vars 의 경로 가 잘못되었습니다.

group_vars/grp2/subgrp1/main.yml
group_vars/grp2/subgrp2/main.yml

인벤토리에서 변수는 각각 subgrp1subgrp2 그룹에 선언됩니다 . 이것은 group_vars에 해당합니다 .

$ tree group_vars
group_vars/
├── subgrp1
│   └── main.yml
└── subgrp2
    └── main.yml

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

ansible의 인벤토리에서 호스트 목록과 그룹 계층을 분리하는 방법은 무엇입니까?

분류에서Dev

2 개의 텍스트 상자를 하나의 속성에 바인딩하는 방법은 무엇입니까?

분류에서Dev

Ansible, 호스트 인벤토리에서 목록을 정의하는 방법은 무엇입니까?

분류에서Dev

Svelte에서 자식 구성 요소의 입력 값을 바인딩하는 방법은 무엇입니까?

분류에서Dev

자바 스크립트에서 개체의 총 배열을 그룹화하는 방법은 무엇입니까?

분류에서Dev

DataTemplate 내부에있는 컨트롤의 (종속성) 속성을 프로그래밍 방식으로 바인딩하는 방법은 무엇입니까?

분류에서Dev

파이썬 3에서 바이트 객체의 인코딩을 변경하는 방법은 무엇입니까?

분류에서Dev

이것을 jQuery의 이벤트에 바인딩하는 방법은 무엇입니까?

분류에서Dev

jquery에서 Chris Domigan의 ContextMenu 플러그인을 사용하여 컨텍스트 메뉴를 바인딩 해제 / 제거하는 방법은 무엇입니까?

분류에서Dev

UI 컨트롤이없는 다른 클래스의 속성에 속성을 바인딩하는 방법은 무엇입니까?

분류에서Dev

ResourceDictionary의 Textbox에 ProgressBar 값을 바인딩하는 방법은 무엇입니까?

분류에서Dev

WPF XAML에서 데이터 트리거를 사용하여 텍스트 블록의 두 속성을 바인딩하는 방법은 무엇입니까?

분류에서Dev

모델 인스턴스에서 충돌 필터 그룹을 정의하는 방법은 무엇입니까?

분류에서Dev

Windows 스토어 앱 앱바 항목의 가시성을 바인딩하는 방법은 무엇입니까?

분류에서Dev

호스트 외부에서 하위 구성 요소 목록을 구성하는 방법은 무엇입니까?

분류에서Dev

동적으로 생성 된 컨트롤을 reactui의 속성에 바인딩하는 가장 좋은 방법은 무엇입니까?

분류에서Dev

AWS CDK Auto Scaling 그룹에서 기본 시작 구성을 재정의하는 방법은 무엇입니까?

분류에서Dev

JBOSS EAP 6.3의 LdapExtLoginModule에서 역할 그룹을 구성하는 방법은 무엇입니까?

분류에서Dev

Dart에서 믹스 인을 그룹화하는 방법은 무엇입니까?

분류에서Dev

Linux의 Apache 2.4에서 이름 기반 가상 호스트를 구성하는 방법은 무엇입니까?

분류에서Dev

Linux의 Apache 2.4에서 이름 기반 가상 호스트를 구성하는 방법은 무엇입니까?

분류에서Dev

텍스트 파일의 각 줄에서 여러 마킹 그룹을 사용하여 대괄호를 제거하는 방법은 무엇입니까?

분류에서Dev

Windows 7 호스트 및 Ubuntu 12.04 게스트 모두에서 최상의 액세스를 위해 PostgreSQL을 구성하는 방법은 무엇입니까?

분류에서Dev

Ninject에서 컨텍스트가 동일 할 때 여러 서비스의 바인딩을 해결하는 더 나은 방법은 무엇입니까?

분류에서Dev

Ninject에서 컨텍스트가 동일 할 때 여러 서비스의 바인딩을 해결하는 더 나은 방법은 무엇입니까?

분류에서Dev

세 개의 하위 그룹으로 구성된 두 개의 독립적 인 그룹의 범례에 제목을 추가하는 방법은 무엇입니까?

분류에서Dev

Vue.js 클래스 바인딩에서 현재 요소의 속성을 확인하는 방법은 무엇입니까?

분류에서Dev

내 스타일 종속성 속성 (DP)을 Button의 스타일 DP에 바인딩하는 방법은 무엇입니까?

분류에서Dev

사용자 지정 종속성 속성을 컨트롤의 뷰 모델에 바인딩하는 방법은 무엇입니까?

Related 관련 기사

  1. 1

    ansible의 인벤토리에서 호스트 목록과 그룹 계층을 분리하는 방법은 무엇입니까?

  2. 2

    2 개의 텍스트 상자를 하나의 속성에 바인딩하는 방법은 무엇입니까?

  3. 3

    Ansible, 호스트 인벤토리에서 목록을 정의하는 방법은 무엇입니까?

  4. 4

    Svelte에서 자식 구성 요소의 입력 값을 바인딩하는 방법은 무엇입니까?

  5. 5

    자바 스크립트에서 개체의 총 배열을 그룹화하는 방법은 무엇입니까?

  6. 6

    DataTemplate 내부에있는 컨트롤의 (종속성) 속성을 프로그래밍 방식으로 바인딩하는 방법은 무엇입니까?

  7. 7

    파이썬 3에서 바이트 객체의 인코딩을 변경하는 방법은 무엇입니까?

  8. 8

    이것을 jQuery의 이벤트에 바인딩하는 방법은 무엇입니까?

  9. 9

    jquery에서 Chris Domigan의 ContextMenu 플러그인을 사용하여 컨텍스트 메뉴를 바인딩 해제 / 제거하는 방법은 무엇입니까?

  10. 10

    UI 컨트롤이없는 다른 클래스의 속성에 속성을 바인딩하는 방법은 무엇입니까?

  11. 11

    ResourceDictionary의 Textbox에 ProgressBar 값을 바인딩하는 방법은 무엇입니까?

  12. 12

    WPF XAML에서 데이터 트리거를 사용하여 텍스트 블록의 두 속성을 바인딩하는 방법은 무엇입니까?

  13. 13

    모델 인스턴스에서 충돌 필터 그룹을 정의하는 방법은 무엇입니까?

  14. 14

    Windows 스토어 앱 앱바 항목의 가시성을 바인딩하는 방법은 무엇입니까?

  15. 15

    호스트 외부에서 하위 구성 요소 목록을 구성하는 방법은 무엇입니까?

  16. 16

    동적으로 생성 된 컨트롤을 reactui의 속성에 바인딩하는 가장 좋은 방법은 무엇입니까?

  17. 17

    AWS CDK Auto Scaling 그룹에서 기본 시작 구성을 재정의하는 방법은 무엇입니까?

  18. 18

    JBOSS EAP 6.3의 LdapExtLoginModule에서 역할 그룹을 구성하는 방법은 무엇입니까?

  19. 19

    Dart에서 믹스 인을 그룹화하는 방법은 무엇입니까?

  20. 20

    Linux의 Apache 2.4에서 이름 기반 가상 호스트를 구성하는 방법은 무엇입니까?

  21. 21

    Linux의 Apache 2.4에서 이름 기반 가상 호스트를 구성하는 방법은 무엇입니까?

  22. 22

    텍스트 파일의 각 줄에서 여러 마킹 그룹을 사용하여 대괄호를 제거하는 방법은 무엇입니까?

  23. 23

    Windows 7 호스트 및 Ubuntu 12.04 게스트 모두에서 최상의 액세스를 위해 PostgreSQL을 구성하는 방법은 무엇입니까?

  24. 24

    Ninject에서 컨텍스트가 동일 할 때 여러 서비스의 바인딩을 해결하는 더 나은 방법은 무엇입니까?

  25. 25

    Ninject에서 컨텍스트가 동일 할 때 여러 서비스의 바인딩을 해결하는 더 나은 방법은 무엇입니까?

  26. 26

    세 개의 하위 그룹으로 구성된 두 개의 독립적 인 그룹의 범례에 제목을 추가하는 방법은 무엇입니까?

  27. 27

    Vue.js 클래스 바인딩에서 현재 요소의 속성을 확인하는 방법은 무엇입니까?

  28. 28

    내 스타일 종속성 속성 (DP)을 Button의 스타일 DP에 바인딩하는 방법은 무엇입니까?

  29. 29

    사용자 지정 종속성 속성을 컨트롤의 뷰 모델에 바인딩하는 방법은 무엇입니까?

뜨겁다태그

보관