Как применить кулинарную книгу/рецепты шеф-повара к нескольким узлам?

Вот пример применения кулинарной книги к узлу с помощью Chef. Но ничего не говорило о множественных узлах. Например у меня есть приложение akka, которому передаются akka.cluster.seed-nodes параметры. Итак, алгоритм должен быть таким:

  1. Определите массив «IP» с IP-адресами, такими как [192.168.1.1], [192.168.1.2], [192.168.1.3]
  2. Определить пустой массив, «загруженный» с загруженными IP-адресами
  3. начиная итерацию по "IP"
  4. вызвать knife bootstrap с текущим ip и "пропустить" -Dakka.cluster.seed-nodes с "загрузочными" значениями
  5. хранить усиленный ip во втором массиве
  6. go to 3

Итак, цель состоит в том, чтобы написать сценарий, который можно применить к нескольким узлам из сервера. Как это сделать с шеф-поваром?


person Cherry    schedule 08.12.2014    source источник


Ответы (1)


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

Если вы хотите написать это, вы должны сделать это на рабочей станции (узле, с которого вы запускаете нож). У вас может быть либо небольшой скрипт, который перебирает массив IP-адресов и загружает каждый из них, либо вы можете использовать такой инструмент, как Vagrant для определения всего кластера узлов в одном файле DSL.

person Tejay Cardon    schedule 08.12.2014