Создание скрипта для ВМ
Скрипты позволяют автоматически настраивать виртуальные машины: устанавливать программное обеспечение, изменять конфигурационные файлы и т. д. Скрипт можно:
- выбрать при создании виртуальной машины. Тогда он будет запущен сразу после установки операционной системы;
- запустить на созданной виртуальной машине.
По умолчанию в платформе доступны скрипты из репозитория ISPsystem.
На ОС семейства Linux доступен запуск Shell-скриптов в командных оболочках bash и sh, на ОС Windows — Powershell-скриптов.
Вы можете задать параметры для скрипта. При запуске скрипта значения параметров нужно будет вводить вручную или выбирать из списка. В качестве параметров, которые нужно вводить вручную, можно использовать переменные. Тогда при запуске скрипта в поле ввода параметра будет отображено значение переменной.
Ограничения для скриптов
Командная оболочка
Платформа поддерживает выполнение Shell-cкриптов только в командных оболочках bash и sh. Если в первой строке скрипта указана другая оболочка (например, #!/bin/dash
), то выполнение скрипта завершится с ошибкой. Если первая строка не содержит информацию об оболочке, скрипт будет запущен в оболочке по умолчанию (в большинстве Linux-систем это bash).
Передача пароля в скрипт
Значение встроенной переменной PASS, содержащей пароль root-пользователя, нельзя изменить при запуске скрипта. Используйте собственную переменную или параметр для передачи пароля в скрипт.
Перезагрузка ВМ
Если скрипт содержит команду перезагрузки, то в момент её выполнения запуск скрипта прервётся. После перезагрузки выполнение скрипта не будет продолжено.
Обновление ОС Linux
Если Shell-скрипт содержит команду обновления ОС, заблокируйте обновление ПО QEMU Guest Agent. Это ПО обеспечивает выполнение команд на ВМ и обмен информацией между ВМ и узлом кластера. Обновление ПО QEMU Guest Agent может повлиять на взаимодействие платформы с ВМ.
Команда для ОС на основе Red Hat
Команда для ОС на основе Debian
Если запуск обновления выполняется внешними скриптами:
Перед командами обновления добавьте в ваш скрипт строки:
для ОС на основе Red Hat:
BASHдля ОС на основе Debian:
BASH
- После команд обновления добавьте в ваш скрипт строки:
для ОС на основе Red Hat:
BASHдля ОС на основе Debian:
BASH
Создание скрипта
Чтобы создать собственный скрипт:
- Перейдите в раздел Скрипты → вкладка Для виртуальных машин → кнопка Создать скрипт.
- Укажите Название скрипта.
- Выберите Владельца скрипта. Только владелец сможет изменить скрипт.
- Выберите, кому разрешён Доступ к образу:
- Владельцу;
- Всем.
- Если нужно, включите опцию Скрывать содержимое скрипта. Тогда только владелец скрипта и администраторы платформы смогут просматривать код скрипта и создавать его копии.
- Укажите Краткое описание скрипта. Оно будет отображаться в списке скриптов.
- Укажите Фильтры для выполнения скрипта. Скрипт доступен для запуска на ВМ при совпадении условий всех фильтров. Фильтр Теги ОС является обязательным, остальные — опциональными. Подробнее см. в статье Фильтры для выполнения скриптов. Чтобы добавить больше фильтров, нажмите кнопку Добавить фильтр. Чтобы удалить фильтр, нажмите значок .
- Если нужно, добавьте Параметры скрипта:
- Нажмите кнопку Добавить параметр.
Укажите Название параметра и его Описание. Если в качестве параметра вы используете имя переменной, её описание добавится автоматически.
- Для обязательного параметра включите опцию Сделать обязательным.
- Чтобы добавить в скрипт больше параметров, нажмите Добавить еще параметр в скрипт. Чтобы удалить параметр, нажмите значок
- Вы можете задать значения параметра, которые будут предлагаться при запуске скрипта:
- Выберите Тип скрипта:
- Shell — для ОС семейства Linux;
- Powershell — для ОС Windows.
Введите код Скрипта в окне редактора. Чтобы развернуть окно редактора на весь экран, нажмите переменной или параметра, начните ввод и редактор предложит варианты окончания.
. Для возврата в оконный режим нажмите . В редакторе есть функция автодополнения. Например, если нужно вставить в скрипт имяВнешние переменные и параметры указываются в скрипте в формате ($NAME), где NAME — имя переменной. Например, для записи IP-адреса ВМ в файл можно использовать команду echo ($IP) >> /tmp/ip.txt.
- Чтобы после выполнения скрипта на почту пользователю было отправлено письмо:
- Нажмите кнопку Добавить в разделе Уведомление на E-mail.
- Введите Тему письма.
- Введите содержание письма в формате HTML в поле Контент. В этом поле вы можете использовать переменные и параметры скрипта. Подробнее о создании шаблонов писем см. Шаблоны писем в скриптах.
- Для предварительного просмотра письма нажмите Предпросмотр.
- По умолчанию создаётся шаблон письма на русском языке — Письмо для RU. Если нужен шаблон письма на английском языке, нажмите кнопку Добавить письмо для EN. Если какой-либо из шаблонов вам не нужен, нажмите кнопку Удалить письмо для RU/Удалить письмо для EN.
- Нажмите кнопку Создать.
Операции со скриптами
Для управления скриптами перейдите в раздел Скрипты → вкладка Для виртуальных машин → выберите скрипт → меню
. Возможные действия:Может быть полезно
Связанные статьи:
- Операции над виртуальными машинами
- Запуск скриптов на ВМ
- Переменные для скриптов
- Фильтры для выполнения скриптов