Ясно из этого сообщения, что Амулет находится на другом слое, чем шеф-повар Server. Амулет находится при оркестровке или уровне служб, в то время как Шеф-повар сидит больше в отдельном сервере или слое конфигурации.
На уровне одной из основных страниц Juju Canonical это указывает, что Амулет разработан для "сосуществования" с инструментами как Шеф-повар и Марионетка, беря процесс "один шаг вперед". Я обыскивал Интернет в течение прошлых нескольких недель на этом предмете и не могу найти хорошее объяснение того, как, тем не менее, инструмент как Шеф-повар будет сосуществовать с Амулетом.
Так, к разбивке всеобъемлющий вопрос в заголовке: (особый интерес к Амулету, сотрудничающему с шеф-поваром Server)
chef-solo
команда? Если так, может вызов очарования chef-client
команда, чтобы работать дружно с шеф-поваром Server?config-changed
сцепитесь, где это вносит изменения конфигурации, которые, в мире Шеф-повара, произошли бы в рецепте путем применения шаблонного файла. Если бы очарование Амулета должно было работать наряду с поваренной книгой Шеф-повара над развертыванием apache2 сервиса (кластер), то почти казалось бы, что очарование "apache2-шеф-повара" должно будет быть записано так, чтобы Вы могли выделить задачи. В этом случае apache2 очарование в Хранилище Очарования было бы менее, чем полезно.Я представление Chef Server как, как, тогда как Амулет может сделать, как, но также и приносит что к таблице. Означание, что реальное текущее состояние сервисов и машин может запрашиваться и реагироваться. Вы не можете сделать этого в шеф-поваре Server. Моя цель состоит в том, чтобы принести осведомленность Амулета и сервисную возможность оркестровки в шеф-повара Server-managed.
Почти кажется, что полный набор очарования должен был бы быть записан, где вся управляемая Шеф-поварами информация о задачах/конфигурации не учтена.
Я хотел бы услышать взвешивания от кого-то в Каноническом (как Jorge Castro) и от Opscode (как A. Jacob или J. Timberman).
крутые вопросы!
Я бы хотел разбить ваш вопрос на пару комментариев ... во-первых, вот пара общих подходов к интеграции chef и juju:
ловушки подвески могут использовать существующие рецепты шеф-повара, которые работают в сольном стиле на сервисных единицах (рекомендуется) ] сервисные единицы juju регистрируются на существующем chef-сервере, используя подчиненную службу chef-node
Эти идеи еще не были реализованы / проверены на chef, но существуют кукольные эквиваленты.
Вот еще немного разбивки двух подходов к интеграции шеф-повара и жужу:
Здесь Джуджу управляет шоу. Самая большая ценность, которую дает juju, - это координация событий во время управления распределенной конфигурацией ... отсюда и название "оркестровка сервисов". Подвески Juju состоят из крючков, которые называются juju в «нужное время» при координации управления сервисом. Реализация этих хуков в значительной степени открыта. Это сценарии оболочки, исходный код, марионеточные манифесты или ... рецепты шеф-повара.
Juju разбивает биты любой конфигурации сервиса на:
«установка» ... биты, которые специфичны для установки конкретной службы на узел
«отношение» ... биты конфигурации, которые необходимы для связи этой службы с какой-либо другой службой
Ключ к использованию рецептов шеф-повара в качестве реализации ловушек в точности это ... вы должны убедиться, что рецепты, которые вы используете, уважают это разделение интересов. В противном случае, ничто не мешает использовать готовые кулинарные книги. Вы можете использовать существующие рецепты, которые вы потратили время / деньги на разработку .... Вам просто нужно убедиться, что вы можете вызывать вещи, относящиеся к отношениям, отдельно от вещей, относящихся к установке.
Нам нужны некоторые примеры этого, но я думаю, что он будет популярен, потому что b / c chef имеет отличный dsl, отличный инструмент для создания шаблонов, и его гораздо приятнее использовать, чем bash, при написании сложных конфигураций. Для простой конфигурации рецепты шеф-повара немного излишни, поэтому этот метод интеграции в значительной степени является лучшим из обоих миров ... и имеет серьезные перспективы на будущее.
Идея заключается в том, чтобы интегрировать службы juju в существующую инфраструктуру, управляемую chef-сервером. Для этого вам нужно написать подчиненный брелок chef-узла. Эта подчиненная служба будет привязана к основным службам juju и будет эффективно регистрировать эти службы как узлы (в частности роли) с сервером chef. Подпрограммы могут быть подключены во время запуска службы juju или в любое время позже в течение жизненного цикла каждого сервиса.
Я думаю, это было бы очень похоже на сабвуфер узла. Все необходимые ключи, роли и т. Д. Будут указаны через config для подчиненного очарования chef-узла. Я бы начал там. Более сложный подход заключается в том, что подчиненный узел chef-node запрашивает как первичную службу, к которой он подключен, так и его chef-сервер для динамического определения ролей, но это будет немного сложнее, чем просто указывать их в конфигурации для подчиненной.
Я определенно рекомендую метод 1 выше, если это возможно. Наличие координационного уровня на верху инструментов конфигурации, вероятно, будет хорошо работать в долгосрочной перспективе. Излишне говорить, что реальные инфраструктуры могут быть неким сочетанием или вариацией обоих подходов в течение определенного периода времени ... особенно во время миграции. Запланированное сосуществование с использованием метода 2, вероятно, будет работать, только если компоненты, управляемые обоими инструментами, будут несколько ортогональны друг другу. Не уверен, что именно это будет выглядеть. Возможно, juju и шеф-повар управляют отдельными относительно отделенными услугами? Я подозреваю, что это может хорошо сработать, чтобы juju управлял первичными услугами, а шеф-повар управлял другими аспектами инфраструктуры. Не знаю. Это немного более длительное обсуждение:)
Примечание: вы также можете использовать juju для управления самим chef-сервером ... даже для больших сложных многоуровневых установок chef-сервера. В последнее время я не смотрел на прелесть chef-сервера, но если он в настоящее время не обрабатывает разделение на уровни и разделение служб, то это, безусловно, можно сделать.
Я хотел бы видеть больше примеров обоих типов интеграции шеф-поваров, упомянутых выше ... это было в моем списке желаний / задач, но пока еще не достигло достаточно высокого приоритета, чтобы закончить ... пожалуйста, помогите, если вам интересно!
хорошо, это неплохой кусок бессвязного текста:) ... давайте начнем с этого, тогда мы можем перейти к более подробной информации в последующих блоках комментариев.