Шеф-повар - Окружающая среда
Chef помогает выполнить настройку для конкретной среды. Всегда полезно иметь отдельную среду для разработки, тестирования и производства.
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 Среда
Каждая организация всегда будет начинать хотя бы с одной среды, называемой средой по умолчанию, которая всегда доступна для сервера Chef. В любом случае среду по умолчанию изменить нельзя. Любые изменения могут быть внесены только в созданную нами настраиваемую среду.
Атрибуты среды
Атрибут можно определить в среде, а затем использовать для переопределения настроек по умолчанию в узле. При запуске клиента Chef эти атрибуты сравниваются с атрибутами по умолчанию, которые уже присутствуют в узле. Когда атрибуты среды имеют приоритет над атрибутами по умолчанию, клиент Chef будет применять эти параметры и значения при запуске клиента Chef на каждом узле.
Атрибут среды может быть только атрибутом default_attribute или override_attribute. Это не может быть нормальным атрибутом. Можно использовать методы default_attribute или override_attribute.
Тип атрибута
Default - Атрибут по умолчанию всегда сбрасывается в начале каждого запуска клиента Chef и имеет самый низкий приоритет атрибута.
Override- Атрибут переопределения всегда сбрасывается в начале каждого запуска клиента Chef и имеет более высокий приоритет атрибутов, чем по умолчанию, force_default и normal. Атрибут переопределения чаще всего определяется в рецепте, но также может быть указан в файле атрибутов для роли или для среды.