Узлы и шаблоны ВМ

Связь обновления платформы и узлов

При обновлении платформы этап «Обновление версии Kubernetes» обновляет компоненты Kubernetes в кластере. Модуль shturval-node-config (std) автоматически обновляет версию Kubernetes на уже существующих узлах.

Однако InfraMachineTemplate (шаблон инфраструктуры для групп узлов) при этом не меняется. Новые узлы, создаваемые при масштабировании или пересоздании, будут созданы со старой версией, указанной в шаблоне. Поэтому после обновления платформы необходимо вручную обновить шаблоны ВМ в InfraMachineTemplate.

Подробнее о процессе обновления платформы — Как происходит обновление в открытом и закрытом контурах.


Требование cgroup v2 (Kubernetes 1.35)

в Kubernetes 1.35 kubelet не запускается на узлах с cgroups v1. Поддержка cgroups v1 исключена в Kubernetes 1.35. Если не обновить шаблон ВМ, то при масштабировании узлов возникнет ошибка, типичный сценарий после обновления:

  1. Платформа обновлена до 2.14.0 и существующие узлы прошли rolling update через shturval-node-config.
  2. Администратор масштабирует узлы в группе.
  3. Новая ВМ создаётся из старого шаблона в InfraMachineTemplate — с cgroups v1 и прежней версией Kubernetes (например, 1.34.3).
  4. Узел регистрируется в кластере, shturval-node-config инициирует обновление до 1.35.
  5. Обновление зависает: kubelet отказывается стартовать с ошибкой [ERROR SystemVerification]: cgroups v1 support is deprecated....

Причина: шаблон ВМ не был обновлён после обновления платформы. Старые шаблоны, подготовленные для Kubernetes 1.34 и ниже, не включают cgroup v2.

Решение: выполните шаги из раздела Действия после обновления).


Действия после обновления (провайдеры с шаблонами ВМ)

Для кластеров на VMware vSphere, oVirt, OpenStack и других провайдерах с шаблонами виртуальных машин:

Шаг 1: Подготовка шаблона (администратор платформы)

  1. Создайте шаблон виртуальной машины в платформе виртуализации с версией Kubernetes, соответствующей обновлённой версии кластера. Начиная с версии 2.14.0 платформы шаблон обязательно должен быть подготовлен с включённым cgroup v2 — см. Пошаговый процесс создания шаблона. Утилита stc при подготовке шаблона включает cgroup v2.
  2. ПровайдерыКонфигурация провайдеров → выберите экземпляр провайдера.
Скриншот: конфигурация провайдера

Конфигурация провайдера

3. Добавьте шаблон ВМ в блоке «Шаблоны виртуальных машин» — укажите версию Kubernetes, соответствующую обновлённой версии платформы.
Скриншот: добавление шаблона с версией Kubernetes

Добавление шаблона ВМ

  1. Сохраните изменения.

Соответствие версий Штурвал и Kubernetes — таблица.

Шаг 2: Замена шаблона в группах узлов (администратор кластера)

  1. АдминистрированиеУправление узлами.
Скриншот: управление узлами

Управление узлами

  1. Для каждой группы (Control Plane и все группы Worker) откройте конфигурацию группы.
  2. Перейдите на вкладку InfraMachineTemplate.
Скриншот: вкладка InfraMachineTemplate

InfraMachineTemplate

  1. В поле «Шаблон ВМ» замените шаблон на вновь добавленный в экземпляр провайдера.
Скриншот: замена шаблона ВМ

Замена шаблона

  1. Сохраните изменения.

Обратите внимание! Внимание: Замена шаблона в InfraMachineTemplate запускает автоматическое пересоздание узлов в группе. Убедитесь, что это допустимо для вашего окружения.

Обратите внимание! Внимание: для провайдеров zVirt, oVirt, HostVM, РЕД Виртуализация, ROSA Virtualization, VMware vSphere, Yandex Cloud и VMware vCloud Director в выпадающем списке InfraMachinetemplate доступны все шаблоны ВМ, существующие в платформе провайдера инфраструктуры и к которым у сервисной УЗ есть права доступа. Используйте только те шаблона ВМ, которые подготовлены с помощью STC!!!


Исключение: Shturval v2

Для кластеров с провайдером Shturval v2 шаблоны виртуальных машин не используются — узлы создаются на «голых» хостах. Обновление версии Kubernetes на узлах выполняется автоматически модулем shturval-node-config. Отдельные действия по замене шаблонов не требуются.


Если нет прав на провайдер

Обновление шаблона в экземпляре провайдера доступно администратору платформы. Если у вас только права администратора кластера — обратитесь к администратору платформы для подготовки и добавления шаблона ВМ. После этого выполните шаги 2 (замена шаблона в группах узлов) в вашем кластере.