Как Амулет “сосуществует” с Шеф-поваром, беря процесс автоматизации “один шаг вперед”?

Ясно из этого сообщения, что Амулет находится на другом слое, чем шеф-повар Server. Амулет находится при оркестровке или уровне служб, в то время как Шеф-повар сидит больше в отдельном сервере или слое конфигурации.

На уровне одной из основных страниц Juju Canonical это указывает, что Амулет разработан для "сосуществования" с инструментами как Шеф-повар и Марионетка, беря процесс "один шаг вперед". Я обыскивал Интернет в течение прошлых нескольких недель на этом предмете и не могу найти хорошее объяснение того, как, тем не менее, инструмент как Шеф-повар будет сосуществовать с Амулетом.

Так, к разбивке всеобъемлющий вопрос в заголовке: (особый интерес к Амулету, сотрудничающему с шеф-поваром Server)

  • Что такое пример очарования, "записанного в Шеф-поваре"? Это - просто очарование, записанное в ударе, который затем звонит chef-solo команда? Если так, может вызов очарования chef-client команда, чтобы работать дружно с шеф-поваром Server?
  • Где перекрытие между Амулетом и Шеф-поваром? Например, apache2 очарование имеет config-changed сцепитесь, где это вносит изменения конфигурации, которые, в мире Шеф-повара, произошли бы в рецепте путем применения шаблонного файла. Если бы очарование Амулета должно было работать наряду с поваренной книгой Шеф-повара над развертыванием apache2 сервиса (кластер), то почти казалось бы, что очарование "apache2-шеф-повара" должно будет быть записано так, чтобы Вы могли выделить задачи. В этом случае apache2 очарование в Хранилище Очарования было бы менее, чем полезно.
  • Если Вам обратились к ролям Шеф-повара узлы (сервисные единицы), которые развертываются/управляются Амулетом, и Ваш системный администратор решает изменить правила брандмауэра для конкретной роли сервера и делает это в роли Шеф-повара, Амулет собирается когда-либо перезаписать те изменения?
  • Проще, Амулет может быть оберткой шеф-повара Server, как Ironfan?

Я представление Chef Server как, как, тогда как Амулет может сделать, как, но также и приносит что к таблице. Означание, что реальное текущее состояние сервисов и машин может запрашиваться и реагироваться. Вы не можете сделать этого в шеф-поваре Server. Моя цель состоит в том, чтобы принести осведомленность Амулета и сервисную возможность оркестровки в шеф-повара Server-managed.

Почти кажется, что полный набор очарования должен был бы быть записан, где вся управляемая Шеф-поварами информация о задачах/конфигурации не учтена.

Я хотел бы услышать взвешивания от кого-то в Каноническом (как Jorge Castro) и от Opscode (как A. Jacob или J. Timberman).

15
задан 13 April 2017 в 15:23

1 ответ

крутые вопросы!

tl; dr

Я бы хотел разбить ваш вопрос на пару комментариев ... во-первых, вот пара общих подходов к интеграции chef и juju:

  • ловушки подвески могут использовать существующие рецепты шеф-повара, которые работают в сольном стиле на сервисных единицах (рекомендуется) ] сервисные единицы juju регистрируются на существующем chef-сервере, используя подчиненную службу chef-node

Эти идеи еще не были реализованы / проверены на chef, но существуют кукольные эквиваленты.

... гм ... не такой короткий ответ

Вот еще немного разбивки двух подходов к интеграции шеф-повара и жужу:

Жужу как лучшая собака [ 111]

Здесь Джуджу управляет шоу. Самая большая ценность, которую дает juju, - это координация событий во время управления распределенной конфигурацией ... отсюда и название "оркестровка сервисов". Подвески Juju состоят из крючков, которые называются juju в «нужное время» при координации управления сервисом. Реализация этих хуков в значительной степени открыта. Это сценарии оболочки, исходный код, марионеточные манифесты или ... рецепты шеф-повара.

Juju разбивает биты любой конфигурации сервиса на:

  • «установка» ... биты, которые специфичны для установки конкретной службы на узел

  • «отношение» ... биты конфигурации, которые необходимы для связи этой службы с какой-либо другой службой

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

Нам нужны некоторые примеры этого, но я думаю, что он будет популярен, потому что b / c chef имеет отличный dsl, отличный инструмент для создания шаблонов, и его гораздо приятнее использовать, чем bash, при написании сложных конфигураций. Для простой конфигурации рецепты шеф-повара немного излишни, поэтому этот метод интеграции в значительной степени является лучшим из обоих миров ... и имеет серьезные перспективы на будущее.

Chef as top-dog

Идея заключается в том, чтобы интегрировать службы juju в существующую инфраструктуру, управляемую chef-сервером. Для этого вам нужно написать подчиненный брелок chef-узла. Эта подчиненная служба будет привязана к основным службам juju и будет эффективно регистрировать эти службы как узлы (в частности роли) с сервером chef. Подпрограммы могут быть подключены во время запуска службы juju или в любое время позже в течение жизненного цикла каждого сервиса.

Я думаю, это было бы очень похоже на сабвуфер узла. Все необходимые ключи, роли и т. Д. Будут указаны через config для подчиненного очарования chef-узла. Я бы начал там. Более сложный подход заключается в том, что подчиненный узел chef-node запрашивает как первичную службу, к которой он подключен, так и его chef-сервер для динамического определения ролей, но это будет немного сложнее, чем просто указывать их в конфигурации для подчиненной.

Мнения

Я определенно рекомендую метод 1 выше, если это возможно. Наличие координационного уровня на верху инструментов конфигурации, вероятно, будет хорошо работать в долгосрочной перспективе. Излишне говорить, что реальные инфраструктуры могут быть неким сочетанием или вариацией обоих подходов в течение определенного периода времени ... особенно во время миграции. Запланированное сосуществование с использованием метода 2, вероятно, будет работать, только если компоненты, управляемые обоими инструментами, будут несколько ортогональны друг другу. Не уверен, что именно это будет выглядеть. Возможно, juju и шеф-повар управляют отдельными относительно отделенными услугами? Я подозреваю, что это может хорошо сработать, чтобы juju управлял первичными услугами, а шеф-повар управлял другими аспектами инфраструктуры. Не знаю. Это немного более длительное обсуждение:)

Примечание: вы также можете использовать juju для управления самим chef-сервером ... даже для больших сложных многоуровневых установок chef-сервера. В последнее время я не смотрел на прелесть chef-сервера, но если он в настоящее время не обрабатывает разделение на уровни и разделение служб, то это, безусловно, можно сделать.

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

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

0
ответ дан 13 April 2017 в 15:23

Другие вопросы по тегам:

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