Шеф-повар помогает в настройке конкретной среды. Всегда полезно иметь отдельную среду для разработки, тестирования и производства.
Chef позволяет группировать узлы в отдельные среды для поддержки упорядоченного процесса разработки.
Создание среды
Создание среды на лету может быть сделано с помощью утилиты ножа. Следующая команда откроет редактор оболочки по умолчанию, чтобы можно было изменить определение среды.
vipin@laptop:~/chef-repo $ knife environment create book { "name": "book", "description": "", "cookbook_versions": { }, "json_class": "Chef::Environment", "chef_type": "environment", "default_attributes": { }, "override_attributes": { } } Created book
Тестирование созданной среды
vipin@laptop:~/chef-repo $ knife environment list _default book
Узел списка для всех сред
vipin@laptop:~/chef-repo $ knife node list my_server
_default Environment
Каждая организация всегда будет начинать хотя бы с одной среды, называемой средой по умолчанию, которая всегда доступна серверу Chef. Среда по умолчанию не может быть изменена в любом случае. Любые изменения могут быть внесены только в созданную нами пользовательскую среду.
Атрибуты среды
Атрибут может быть определен в среде, а затем использован для переопределения настроек по умолчанию в узле. Когда выполняется клиент Chef, эти атрибуты сравниваются с атрибутами по умолчанию, которые уже присутствуют в узле. Когда атрибуты среды имеют приоритет над атрибутами по умолчанию, клиент Chef будет применять эти параметры и значения, когда запуск клиента Chef происходит на каждом узле.
Атрибутом среды может быть только default_attribute или override_attribute. Это не может быть нормальным атрибутом. Можно использовать методы default_attribute или override_attribute.
Тип атрибута
По умолчанию — атрибут по умолчанию всегда сбрасывается в начале каждого запуска клиента Chef и имеет самый низкий приоритет атрибута.
Переопределение — атрибут переопределения всегда сбрасывается в начале каждого запуска клиента Chef и имеет более высокий приоритет атрибута, чем default, force_default и normal. Атрибут переопределения чаще всего определяется в рецепте, но также может быть указан в файле атрибутов для роли или для среды.