Шаблоны виртуальных машин

Что такое шаблон виртуальной машины

Создание кластеров с провайдерами Vsphere, Ovirt и Ovirt-подобные, OpenStack, VK Cloud, Selectel, Basis Dynamix, Yandex Cloud происходит с использованием образов виртуальных машин. В РОСА Кубис они называются шаблонами провайдеров. Шаблон содержит в себе основную информацию, на основании которой провайдеры Комплекса будут разворачивать ВМ в платформе виртуализации, а именно:

  • операционная система и ее версия. Список поддерживаемых операционных систем в Комплексе см. 3.1.2.5;
  • ограничение по размеру диска (т.к. созданные ВМ не могут быть меньшего объема диска, чем указано в исходной ВМ). Шаблон не хранит информацию о ресурсах (CPU, RAM) исходной ВМ. При необходимости можно создать несколько шаблонов ВМ на разных ОС. Шаблоны ВМ являются основой для InfraMachineTemplates, из которых создаются узлы в группах. На основе одного шаблона ВМ можно конфигурировать различные InfraMachineTemplates. Шаблоны ВМ, добавленные в экземпляр провайдера, доступны на вкладке "InfraMachineTemplates" на странице просмотра конфигурации группы Control Plane и просмотра конфигурации группы Worker-узлов (п. 5.2.9.1).

Создание шаблонов виртуальных машин

Этапы создания

Создание шаблона происходит в несколько этапов:

  • создание ВМ в платформе виртуализации;
  • создание шаблона ВМ с помощью утилиты stc и отключение ВМ в платформе виртуализации;
  • загрузка образа ВМ в платформу виртуализации. Рекомендации по использованию диска ВМ и распределение занимаемого объема директориями приведено в п. 3.4.2.2. При создании ВМ из шаблона Комплекс будет самостоятельно готовить ВМ: устанавливать Kubernetes выбранной версии и необходимые конфигурации. Важно:
  • При подготовке шаблона ВМ необходимо учитывать требования к синхронизации времени.
  • На виртуальной машине, с которой формируется шаблон:
  • должно выполняться разрешение имени хоста зеркала по действующему FQDN;
  • отключен selinux (permissive или disabled);
  • недоступные репозитории должны быть отключены или удалены (например, родные репозитории дистрибутива);
  • в системе должны быть установлены пакеты iptables и gnupg.

Выделение диска для ВМ

В Комплексе рекомендуется использовать LVM-диски и реализовать хранение в корневом разделе. При создании ВМ с увеличенным диском увеличивается корневой раздел. Минимальный объем ‒ 60 ГБ.

При необходимости можно вынести /var/log, выделив на него 20 ГБ, при этом:

  • При использовании LVM особенностей нет.
  • При использовании другого типа диска требуется вынести этот раздел перед корневым. Важно** ‒ Если используются не LVM-диски **и за корневым разделом есть swap, то увеличение диска не будет работать. На верхнем уровне использование разделов помимо корневого в минимальной конфигурации приведено в таблице 60. Таблица 60 ‒ Использование разделов

Создание ВМ в платформе виртуализации

В появившемся окне "Новый шаблон" нужно заполнить следующие поля:

  • Название ‒ ввести уникальное имя для нового шаблона;
  • Описание ‒ ввести краткое описание шаблона, чтобы упростить его идентификацию;
  • Кластер ‒ выбрать кластер, в котором будет доступен данный шаблон. Далее следует дождаться, пока созданный шаблон станет доступным в вашей среде виртуализации. С этого момента шаблон будет доступен для добавления в конфигурации провайдеров.

Создание шаблона ВМ (с утилитой stc)

Процесс создания шаблона ВМ включает следующие действия:

  1. создать виртуальную машину для формирования шаблона. Важно ‒ Запуск stc необходимо выполнять на рабочей машине (а не на хосте кластера) с ОС Linux. В случае использования зеркала имя зеркала (registry) необходимо указывать так же, как указывали при развертывании Комплекса.
  2. выполнить команду для скачивания бинарного файла:
wget URL -O stc

где вместо URL нужно подставить соответствующую необходимой версии ссылку:

  1. проставить атрибут исполняемого для загруженного файла командой:
chmod +x ./stc
  1. выполнить команду для создания шаблона stc template, в которой проставить свои значения параметров (таблица 61). Таблица 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 в шаблоне ВМ определяет доступные для выбора версии Комплекса при создании клиентских кластеров. Выбор шаблонов ВМ при создании провайдера инфраструктуры в Комплексе показан на рисунке 115. *Пример выбора версии Kubernetes при добавлении шаблона виртуальной машины в экземпляр провайдера при доступности v1.31.8, v1.32.3, v1.33.1 показан на рисунке 116.*

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

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