Шаблоны виртуальных машин
Что такое шаблон виртуальной машины
Создание кластеров с провайдерами Vsphere, Ovirt и Ovirt-подобные, OpenStack, VK Cloud, Selectel, Basis Dynamix, Yandex Cloud происходит с использованием образов виртуальных машин. В РОСА Кубис они называются шаблонами провайдеров. Шаблон содержит в себе основную информацию, на основании которой провайдеры Комплекса будут разворачивать ВМ в платформе виртуализации, а именно:
- операционная система и ее версия. Список поддерживаемых операционных систем в Комплексе см. п. Требования к ОС;
- ограничение по размеру диска (т.к. созданные ВМ не могут быть меньшего объема диска, чем указано в исходной ВМ).
Шаблон не хранит информацию о ресурсах (CPU, RAM) исходной ВМ.
При необходимости можно создать несколько шаблонов ВМ на разных ОС. Шаблоны ВМ являются основой для InfraMachineTemplates, из которых создаются узлы в группах. На основе одного шаблона ВМ можно конфигурировать различные InfraMachineTemplates.
Шаблоны ВМ, добавленные в экземпляр провайдера, доступны на вкладке "InfraMachineTemplates" на странице просмотра конфигурации группы Control Plane и просмотра конфигурации группы Worker-узлов.
Создание шаблонов виртуальных машин
Этапы создания
Создание шаблона происходит в несколько этапов:
- создание ВМ в платформе виртуализации;
- создание шаблона ВМ с помощью утилиты stc и отключение ВМ в платформе виртуализации;
- загрузка образа ВМ в платформу виртуализации.
Рекомендации по использованию диска ВМ и распределение занимаемого объема директориями приведено в п. Выделение диска для ВМ.
При создании ВМ из шаблона Комплекс будет самостоятельно готовить ВМ: устанавливать Kubernetes выбранной версии и необходимые конфигурации.
Важно:
При подготовке шаблона ВМ необходимо учитывать требования к синхронизации времени.
На виртуальной машине, с которой формируется шаблон:
- должно выполняться разрешение имени хоста зеркала по действующему FQDN;
- отключен selinux (permissive или disabled);
- недоступные репозитории должны быть отключены или удалены (например, родные репозитории дистрибутива);
- в системе должны быть установлены пакеты iptables и gnupg.
Выделение диска для ВМ
В Комплексе рекомендуется использовать LVM-диски и реализовать хранение в корневом разделе. При создании ВМ с увеличенным диском увеличивается корневой раздел. Минимальный объем ‒ 60 ГБ.
При необходимости можно вынести /var/log, выделив на него 20 ГБ, при этом:
- При использовании LVM особенностей нет.
- При использовании другого типа диска требуется вынести этот раздел перед корневым.
Важно ‒ Если используются не LVM-диски и за корневым разделом есть swap, то увеличение диска не будет работать.
На верхнем уровне использование разделов помимо корневого в минимальной конфигурации приведено в таблице 60.
Создание ВМ в платформе виртуализации
В появившемся окне "Новый шаблон" нужно заполнить следующие поля:
- Название ‒ ввести уникальное имя для нового шаблона;
- Описание ‒ ввести краткое описание шаблона, чтобы упростить его идентификацию;
- Кластер ‒ выбрать кластер, в котором будет доступен данный шаблон.
Далее следует дождаться, пока созданный шаблон станет доступным в вашей среде виртуализации. С этого момента шаблон будет доступен для добавления в конфигурации провайдеров.
Создание шаблона ВМ (с утилитой stc)
Процесс создания шаблона ВМ включает следующие действия:
- создать виртуальную машину для формирования шаблона.
Важно ‒ Запуск stc необходимо выполнять на рабочей машине (а не на хосте кластера) с ОС Linux. В случае использования зеркала имя зеркала (registry) необходимо указывать так же, как указывали при развертывании Комплекса. 2. выполнить команду для скачивания бинарного файла:
wget URL -O stc
где вместо URL нужно подставить соответствующую необходимой версии ссылку:
- https://public.shturval.tech/stc-<номер_версии>;
- проставить атрибут исполняемого для загруженного файла командой:
chmod +x ./stc
- выполнить команду для создания шаблона stc template, в которой проставить свои значения параметров (таблица 61).
Примеры создания шаблона:
- Пример команды создания шаблона с использованием публичного репозитория Комплекса:
./stc-<номер_версии> template --license="ВВЕДИТЕ-ВАШУ-ЛИЦЕНЗИЮ"
- Пример команды создания шаблона с использованием зеркала:
./stc-<номер_версии> template --license="ВВЕДИТЕ-ВАШУ-ЛИЦЕНЗИЮ" --registry="ВВЕДИТЕ-АДРЕС-ВАШЕГО-РЕДЖЕСТРИ"
где в параметре --registry указать registry, который был использован при установки Комплекса.
- Пример команды создания шаблона с сохранением установленного cloud-init:
./stc-<номер_версии> template --license="ВВЕДИТЕ-ВАШУ-ЛИЦЕНЗИЮ" --keep-cloud-init
Далее на платформе виртуализации необходимо завершить работу ВМ. После того как статус ВМ перейдет в состояние "выключена", можно сформировать из нее шаблон. Шаблон будет доступен для добавления в конфигурации провайдеров.
Загрузка шаблона ВМ в Комплекс
Созданные шаблоны ВМ необходимо загрузить в экземпляр провайдера соответствующего типа:
- VMware vSphere;
- oVirt;
- OpenStack;
- Basis Dynamix;
- VMware vCloud Director;
- Yandex Cloud.
К одному экземпляру провайдера можно добавить несколько шаблонов ВМ. Для каждого шаблона ВМ можно указать только одну версию Kubernetes, на которой планируется развертывания кластеров. В списке версий Kubernetes доступны версии, совместимые с установленной версией Комплекса.
Прежде чем выбрать версию Kubernetes, следует ознакомиться с соответствием версий Kubernetes и версий Комплекса.
Следует обратить внимание, что указанная версия Kubernetes в шаблоне ВМ определяет доступные для выбора версии Комплекса при создании клиентских кластеров.
Выбор шаблонов ВМ при создании провайдера инфраструктуры в Комплексе показан на рисунке 107.
Пример выбора версии Kubernetes при добавлении шаблона виртуальной машины в экземпляр провайдера при доступности v1.31.8, v1.32.3, v1.33.1 показан на рисунке 108.

Рисунок 107 ‒ Выбор шаблона ВМ

Рисунок 108 ‒ Выбор версии Kubernetes для добавляемого шаблона ВМ