Рецепт — скрипт, который DCImanager выполняет на сервере после установки операционной системы. Рецепты настраивают сервер: устанавливают программное обеспечение для конкретных задач, изменяют конфигурационные файлы и т. п.
Скрипты выполняются на серверах с операционными системах Linux и Windows:
- при работе с Linux панель управления копирует файл скрипта по протоколу SSH во временный каталог на сервера и запускает с правами суперпользователя;
-
при работе с Windows панель управления использует PowerShell-скрипты.
Обратите внимание!PowerShell-скрипты поддерживаются только в Windows Server 2016.
В теле PowerShell-скриптов не допускается использование кириллических символов.
Рецепт указывается при переустановке операционной системы сервера. Подробнее см. в статье Управление серверами.
Для взаимосвязи шаблонов ОС и рецептов используются теги. Рецепт совместим с ОС, если у них совпадет хотя бы один тег.
Можно указать рецепт для принудительной установки на серверы в Настройки → Глобальные настройки → поле Рецепт. Панель управления сохраняет не идентификатор конкретного рецепта, а его внутреннее имя. Несколько рецептов могут иметь одинаковое внутреннее имя, но разный набор тегов. При установке операционной системы выбирается первый совместимый с шаблоном ОС рецепт с указанным именем. Так можно задавать разные рецепты для разных операционных систем.
Таймаут на выполнение рецепта — 3 часа.
Перейдите в Настройки → Рецепты для управления.
Репозитории рецептов
Рецепты хранятся в репозиториях. Нажмите Репозитории → Создать для добавления репозитория.
![](https://www.ispsystem.ru/docs/static/21332279/vmmgr5clustertemlates-recipesreposadd.png)
Укажите:
- Репозиторий — наименование;
- Ссылка — URL–адрес.
DCImanager определяет рецепты, доступные в репозитории, и добавляет их в список Настройки → Рецепты.
Нажмите кнопку Обновить, чтобы обновить список доступных рецептов.
По умолчанию добавлен репозиторий ISPsystem.
Свойства рецептов
Нажмите кнопку Свойства, чтобы настроить рецепт.
![](https://www.ispsystem.ru/docs/static/21332279/vmmgr5clustertemlates-recipesproperties.png)
Укажите:
- Ограничение доступа к рецепту — настройки доступности рецепта:
- Доступен всем;
- Доступен администраторам;
- Недоступен — рецепт недоступен для использования ни пользователям, ни администраторам.
Создание рецепта
Нажмите Создать, чтобы создать собственный рецепт.
![](https://www.ispsystem.ru/docs/static/21332279/vmmgr5clusterrecipescreate.png)
Укажите:
- Имя файла — если используете PowerShell скрипты, то к имени обязательно добавьте формат файла ".ps1", например "myScript.ps1";
- Кодировка — обратите внимание, при смене кодировки изменения, внесённые в редакторе, будут утеряны:
- UTF-8;
- WINDOWS-1251.
- Шрифт — размер. Указывается в пикселях;
- Режим — тип подсветки синтаксиса;
- Тема — тип фона;
- Клавиатура — тип курсора;
- Скрытые символы — опция отображения скрытых символов;
- Нумерация — опция нумерации строк;
- Перенос — тип переноса строк:
- Off — отключён;
- 40 Chars — максимальная длина строки ограничена 40 символами;
- 80 Chars — максимальная длина строки ограничена 80 символами;
- Free — максимальная длина строки ограничена границами редактора.
Создавать рецепты могут только администраторы.
Структура файла рецепта
Метаданные
Панель управления использует метаданные:
- для отображения рецепта в списке рецептов;
- для выбора подходящего рецепта при выполнении рецепта, указанного в политиках кластера.
В тело рецепта записывается блок комментариев, хранящий метаданные рецепта:
# metadata_begin
# recipe: hello_world
# tags: unix
# revision: 1
# description_ru:
# description_en:
# metadata_end
Блок метаданных начинается с ключевой фразы metadata_begin и заканчивается ключевой фразой metadata_end. Между этими ключевыми фразами могут располагаться следующие метаданные:
- recipe — внутреннее имя рецепта. Обязательное поле. Несколько рецептов могут иметь одинаковое внутреннее имя;
- tags — набор тегов. Указываются через запятую. Используется для контроля совместимости рецепта и шаблона ОС;
- revision — версия рецепта;
- description_XX — краткое описание рецепта на соответствующем языке.
Использование макросов
В теле рецепта можно использовать макросы — особые последовательности символов, которые заменяются на значения перед запуском рецепта:
- ($HOSTNAME) — доменное имя сервера;
- ($TIMEZONE) — временная зона сервера.