Назад | Перейти на главную страницу

преобразование наследования узла в hiera

Я работаю над перемещением дерева наследования узлов в hiera. В настоящее время работает над иерархия. До hiera у моих узлов была иерархия как таковая

base
  pre-prod
    qa
      nodes
    staging
      nodes
    development
      nodes
  prod
    nodes

Теперь я пытаюсь получить такой же уровень с hiera. Начиная, у меня есть это

:hierarchy:
  - base
  - "%{environment}"
  - "%{clientcert}"

но мне нужен другой уровень, чтобы захватить предпродажа и толкать. Я подумал бы добавить запись в puppet.conf, что-то вроде

[agent]
realm = pre-prod

затем

:hierarchy:
  - base
  - "%{realm}"
  - "%{environment}"
  - "%{clientcert}"

Пара вопросов

  1. Можно ли помещать произвольные свойства в puppet.conf?
  2. Хиера увидит царство свойство?

Вы можете сделать это на стороне клиента, используя настраиваемый факт вместо puppet.conf настройка. Однако я бы сказал, что делайте это на стороне сервера, в данных Hiera. Уловка, которую я использую для чего-то подобного, заключается в следующем:

  1. Установите что-нибудь в данных Hiera на clientcert уровень, для каждого сервера. В твоем случае:

    realm: "pre-prod"
    
  2. Захватите эту переменную в глобальную область видимости через Hiera в site.ppперед твоим hiera_include:

    $realm = hiera(realm)
    
    hiera_include(classes)
    
  3. Переменная была получена из clientcert.yaml файл, и теперь он будет использоваться в поисках, которые происходят из вашего hiera_include, вытягивая из pre-prod.yaml на основе "%{realm}" config в вашей иерархии.