7

Есть понимающие Foreman + Puppet?

Добрый день! Ребята, подскажите. Есть связка Forema + Puppet, импортирован класс RESOLV_CONF для настройки dns на клиентах. Создал окружёние test, скопировал файлы окружения в него из production, класс импортировался тоже благополучно в окружёние test. Не могу понять, как для разных окружёний сделать разные значения параметров dns класса RESOLV_CONF. Значения класса ложатся на оба окружения. Методом тыка пока не допер, в документации пока не нашёл. Может знает кто?

GNU/Linux

1.2K пост15.6K подписчика

Правила сообщества

Все дистрибутивы хороши.

Будьте людьми.

1
Автор поста оценил этот комментарий

Никогда не юзал фореман, т.к. он ограничивает твои возможности на сложных конфигурациях. Но на чистом папете это делается очень просто. У тебя в hierarchy должна быть иерархия для разных окружений где разделять ты можешь как тебе удобно с приоритетами как тебе удобно.
Соответственно у тебя для разных окружений свой yaml в котором и определяешь/переопределяешь что тебе нужно. Гибкость этой штуки ограничивается только твоей фантазией.
Фрагмент из оф. доки https://puppet.com/docs/puppet/7/hiera_quick.html

раскрыть ветку (1)
0
Автор поста оценил этот комментарий
Друг, спасибо!
Автор поста оценил этот комментарий

А ты вообще проверил что он штатно умеет в переменные, или сам скрипт правил ?

Если писал кейс использования в виде скрипта - просто два if и напиши под сравнение с названием окружения

раскрыть ветку (1)
0
Автор поста оценил этот комментарий
Не, далеко пока не погружался. Воткнул класс из forge.pupoet.com и залип с параметрами для двух разных окружёний на одном и том же классе.
показать ответы
0
Автор поста оценил этот комментарий

Вообще хреново помню всё это хозяйство, но разве там в манифесте нельзя указать необходимые?

Или вообще же группу хостов отдельную создать для опытов если не создана.

Я вообще под конец дня тупенький, сильно не ругайся

раскрыть ветку (1)
0
Автор поста оценил этот комментарий
Да, создал разные группы, написал туда и сюда разных хостов. А вот разные параметры для них не могу допетрить как сделать в Foreman. Они уходят в один и тот же класс их разных окружёний. Или должен класс дублироваться для каждого окружения... Не пойму.
показать ответы
Автор поста оценил этот комментарий

Не знаю, что конкретно корявого вы нашли. Что первый, что второй вполне хорошо работали на инфраструктуре 300(puppet) и 600(ansible) серверах.

Существенная разница в гибкости и удобстве - это да.

раскрыть ветку (1)
0
Автор поста оценил этот комментарий
Мне просто не понятно, как использовать класс на 2 разных окружения с разными значениями одного и того же параметра. Типа для этой пачки хостов в окружении test dns 10.0.0.1, а для другой в окружении production 10.0.0.2
показать ответы
Автор поста оценил этот комментарий

Ууу, puppet... Могу только совет дать из разряда "ахуительных. Лучше юзайте ansible. Увы, больше нечем помочь не могу, уже давно отказался от него

раскрыть ветку (1)
0
Автор поста оценил этот комментарий
Увы, требования сверху, вариантов никак.
показать ответы
2
Автор поста оценил этот комментарий

Экое диво!

Иллюстрация к комментарию
раскрыть ветку (1)
Автор поста оценил этот комментарий
Да, штука явно мощная, когда надо, например, сконфирурировать около 30 инфокиосков на линуксе.
показать ответы
2
Автор поста оценил этот комментарий

сконфирурировать говоришь?

Иллюстрация к комментарию
раскрыть ветку (1)
Автор поста оценил этот комментарий
Не, понять механизм, каким образом идёт распределение параметров одного и того же класса на разные окружения. То есть в production у меня работает скажем 29 хостов, в test работает 1. Я на этот хост отправляю параметры класса, но такие же самые параметры сохраняются в окружении production. Не понятна логика.