нужны разъяснения относительно управления узлами, ролями внутри шеф-повара - PullRequest
0 голосов
/ 03 января 2019

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

  • как отслеживать изменения в узлах и т. Д. В пользовательском интерфейсе - существует ли инструмент аудита, позволяющий нам увидеть, что изменилось с течением времени?Я искал в Интернете демо, но нашел мало информации.
  • Можно ли синхронизировать chef-сервер и, скажем, git-репозиторий, чтобы, по крайней мере, там можно было увидеть изменения в определении узла, ролей и т. Д.?В ansible я мог сохранить свои ожидания в файле конфигурации и заставить инструмент импортировать его.Есть ли способ сделать что-то подобное?Я читал об «инфраструктуре как коде», но разве это не противоречит цели, заключающейся в том, что этот код не может легко контролироваться версиями?

Ответы [ 2 ]

0 голосов
/ 04 января 2019

позвольте мне попытаться уточнить ...

  • как отслеживать изменения в узлах и т. Д. В пользовательском интерфейсе - существует ли инструмент аудита, позволяющий нам увидеть, что изменилось с течением времени? Я искал в Интернете демо, но нашел мало информации.

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

  • архитектура сервера \ клиента: атрибуты узла будут храниться на сервере chef
  • ноль \ архитектура локального режима: атрибуты узла будут храниться в файле json локально

если вы правильно настроили нож (см. client.rb ), вы сможете использовать нож для получения атрибута узла. например :

$ knife search "name:node.example.com" --long
  • Можно ли синхронизировать chef-сервер и, скажем, git-репозиторий, чтобы изменения в определении узла, ролей и т. Д. Были, по крайней мере, там видны? В ansible я мог сохранить свои ожидания в файле конфигурации и заставить инструмент импортировать его. Есть ли способ сделать что-то подобное? Я читал об «инфраструктуре как коде», но разве это не противоречит цели, заключающейся в том, что этот код не может легко контролироваться версиями?

уверен, что это возможно. просто поместите все свои кулинарные книги в систему управления версиями. если вы используете архитектуру сервер \ клиент, то после завершения разработки и тестирования поваренной книги загрузите свои поваренные книги на chef-сервер и затем запустите chef-client на интересующем узле.

0 голосов
/ 04 января 2019

Поскольку я не знаком с пользовательским интерфейсом Chef, я постараюсь кратко ответить на ваш второй вопрос.

У вас есть два варианта:

  1. Если вы хотите придерживатьсяроли, за которыми вы можете следовать Policyfile модель / шаблон.
  2. Вы можете отказаться от ролей.Вы можете переключиться на шаблон поваренной книги, где вы рассматриваете поваренные книги как роли.Например, вместо роли web_server вы создаете мета (оболочку) кулинарной книги web_server, в которую вы просто включаете другие кулинарные книги или устанавливаете атрибуты.Вы можете версия поваренной книги обертки как любая другая поваренная книга.Узлам вы назначаете только поваренные книги-оболочки или у вас есть только одна поваренная книга-оболочка для каждого типа узла.
...