Преобразование наследования узлов в hiera
Я работаю над перемещением через дерево наследования узлов в hiera. В настоящее время работает над иерархией. До hiera мои узлы имели иерархию как таковую
base
pre-prod
qa
nodes
staging
nodes
development
nodes
prod
nodes
Теперь я пытаюсь получить тот же уровень с Hiera. Начиная с меня это
:hierarchy:
- base
- "%{environment}"
- "%{clientcert}"
но мне нужен другой уровень для захвата pred-prod и prod. Я хотел бы добавить запись в puppet.conf, что-то вроде
[agent]
realm = pre-prod
затем
:hierarchy:
- base
- "%{realm}"
- "%{environment}"
- "%{clientcert}"
Пара вопросов
- Разрешено ли вам помещать произвольные свойства в puppet.conf?
- Увидит ли Иера недвижимость королевства?
1 ответ
Вы можете сделать это на стороне клиента, используя пользовательский факт вместо puppet.conf
установка. Тем не менее, я бы сказал, сделать это на стороне сервера, в данных Hiera. Уловка, которую я использую для чего-то подобного, заключается в следующем:
Установите что-то в данных Hiera на
clientcert
уровень, для каждого сервера. В твоем случае:realm: "pre-prod"
Захватите эту переменную в глобальную область с помощью Hiera в
site.pp
перед вашимhiera_include
:$realm = hiera(realm) hiera_include(classes)
Переменная была выбрана из
clientcert.yaml
файл, и теперь будет использоваться в поисках, которые происходят из вашегоhiera_include
тянет изpre-prod.yaml
на основе"%{realm}"
Конфиг в вашей иерархии.