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

Управление именами сертификатов Puppet с динамическими серверами

У меня есть марионеточная установка, в которой каждый манифест узла назван примерно так

/^web-\d+\.example\.com$/

Мы делаем это, чтобы мы могли запускать новые серверы для увеличения мощности и давать каждому уникальный certname используя метку времени, когда он был запущен.

Это вызывает проблемы с частью Hiera в нашей настройке Puppet, поскольку мы не можем

:hierarchy:
  - "nodes/%{::trusted.certname}"
  - common

поскольку мы не можем предсказать, что все certnames будет. Прямо сейчас мы просто указываем каждый тип узла в иерархии, но мы хотели бы иметь возможность добавлять новые типы узлов без редактирования нашего hiera.yaml каждый раз.

Возможно ли иметь какой-то динамический поиск в нашей иерархии, который позволит нам иметь динамически генерируемые имена сертификатов без указания типа каждого узла?

Я обновил как нашу иерархию, так и пользовательские факты, чтобы это работало. Иерархия теперь включает

roles/%{::role}/${::environment}

и наши узлы теперь включают следующее в /etc/facter/facts/role.yaml:

---
role: web