Развертывание распределенных приложений с Марионеткой - совет?

Я изучаю миграцию нашего процесса развертывания к использованию Марионетки. Я запускаю путем развертывания сторонних приложений, которые мы используем для системы, которые включают Облако Solr, организованное ансамблем Служителя зоопарка.

Развертывание облака Solr со встроенным Служителем зоопарка довольно просто, однако если я хочу использовать отдельный ансамбль Служителя зоопарка затем, я должен развернуть Служителя зоопарка с этими решающими строками в конфигурации:

server.1=ip1:2888:3888
server.2=ip2:2888:3888
server.3=ip3:2888:3888

(например). Учитывая, что я ничего не могу принять об упорядочивании узлов, и я хотел бы сохранить это все Основанным на марионетке: на что я должен посмотреть для того, чтобы сделать это?

Я должен сделать это шаблоны использования и некоторые поиски Hiera, и определить все серверы Служителя зоопарка в моей конфигурации Hiera? Или есть ли метод, который позволяет мне не указывать, где все узлы заранее и сделали, чтобы они определили друг друга (использование пользовательских фактов, возможно)?

Я хотел бы минимизировать сумму сайт-специфичной конфигурации, которую я должен записать, поэтому если я могу просто указать, что "этому узлу нужен модуль служителя зоопарка", и это автоматически находит любых других, которые имеют модуль служителя зоопарка, который был бы блестящим.

Любой совет от системных администраторов, которые сделали что-то подобное, ценился бы!

1
задан 20 March 2015 в 16:35
1 ответ

Использование Hiera - правильный подход, и вы можете добиться динамического характера того, что хотите, используя PuppetDB вместе с бэкэнд PuppetDB Hiera .

Это позволяет вам иметь что-то вроде следующего в ваших файлах Hiera YAML:

zookeeper::servers::_nodequery: ['Class[Zookeeper]', 'ipaddress']

Это вернет массив $ :: ipaddress фактов для все машины, о которых знает PuppetDB, с классом Zookeeper как частью их каталога. Затем вы можете использовать результат этого запроса в качестве параметра для других классов.

3
ответ дан 3 December 2019 в 18:42

Теги

Похожие вопросы