각 환경 유형 dev, qa, integration에 대해 yaml 파일을 만들었습니다. 그러나 여러 dev 환경이 있고 호스트 특정 yaml 파일을 통해 일부 변경 내용을 무시할 싶습니다.hiera_hash를 사용하여 hiera puppet의 변경 사항
Hiera
|--host
| |-dev1.internet.com
| |-dev2.intranet.com
|--servertype
| |-dev
| |-qa
dev.yaml
augeas_xml:
- 'set /root/node/servername/#text 'dev'
- 'set /root/node/serverlocation/#text 'London'
- 'set /root/node/ntp/#text '123.123.123.123'
dev1.internet.com.yaml
augeas_xml:
- 'set /root/node/serverlocation/#text 'New York'
- 'set /root/node/ntp/#text '123.123.123.125'
dev2.intranet.com.yaml
augeas_xml:
- 'set /root/node/serverlocation/#text 'Accrington'
나는 다음과 같은
augeas_xml:
- 'set /root/node/servername/#text 'dev'
- 'set /root/node/serverlocation/#text 'New York'
- 'set /root/node/ntp/#text '123.123.123.125'
hiera_array이 나에게 원하는 결과를 제공하지 않고 hiera_hash 나에게 다음과 같은 오류를주고있다 가지고 dev1.internet.com.yaml의 설정을 얻을 수있는 방법이 필요합니다 : 키 'augeas_xml'에 대한 Hiera 유형 불일치 : 예상되는 해시 및 배열 가져 오기
호스트 별 설정이 환경 별 설정보다 우선하지 않습니다. 내가 준 예제는 작은 서버 세트입니다. 수백 개의 서버를 관리하기 위해 꼭두각시를 사용하고 있습니다. hiera를 사용하고 모든 단일 호스트에 대해 yaml 파일을 만들 수 있습니다. 그러나, 나는 default.yaml을 가지고
---
:hierarchy:
- "host/%{::fqdn}"
- "server_type/%{server_type}"
- default
:backends:
- yaml
:yaml:
:datadir: "/puppet/hieradata/%{::environment}"
:merge_behavior: deeper
후자는
dev1.internet.com.yaml
augeas_xml:
- 'set /root/node/serverlocation/#text 'New York'
- 'set /root/node/ntp/#text '123.123.123.125'
- 'set /root/node/servername/#text 'dev'
- 'set /root/node/serverlocation/#text 'London'
- 'set /root/node/ntp/#text '123.123.123.123'
을 생산하는 host.yaml의 변화를 무시할 수 있기를 원하지만 내가하고 싶은
dev1.internet.com.yaml
augeas_xml:
- 'set /root/node/servername/#text 'dev'
- 'set /root/node/serverlocation/#text 'London'
- 'set /root/node/ntp/#text '123.123.123.123'
- 'set /root/node/serverlocation/#text 'New York'
- 'set /root/node/ntp/#text '123.123.123.125'
는'hiera_hash', 여기 아무 소용이 없다 (다른 Augeas 자원 속성을 누락하고 자신의 교체해야합니다주의). 'hiera_array'의 결과는 바람직하지 않습니다. 생성되는 결과를 표시하고 이것이 왜 문제인지 확인하십시오. –
호스트 특정 설정이 환경 별 설정보다 우선하지 않습니다. 내가 준 예제는 작은 서버 세트입니다. 수백 개의 서버를 관리하기 위해 꼭두각시를 사용하고 있습니다. hiera를 사용하고 모든 단일 호스트에 대해 yaml 파일을 만들 수 있습니다. 그러나 default.yaml을 갖고 host.yaml의 변경 사항을 무시할 수 있습니다. – Vash
hiera.yaml을 질문에 추가하고 설명하는 파일의 위치를 더 정확하게 표시하십시오. 구조 또는 맨 위에있는 논리 구조? –