Преобразование наследования узлов в 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}"Конфиг в вашей иерархии.