Стадия жизненного цикла модуля: Общедоступная версия
У модуля есть требования для установки
Deckhouse Platform устанавливает CRD, но не удаляет их при отключении модуля. Если вам больше не нужны созданные CRD, удалите их.
DVPInstanceClass
Область: Cluster
Версия: v1alpha1
-
объектmetadata
-
объектspec
-
массив объектовspec.additionalDisks
Параметры дополнительных дисков виртуальной машины.
Каждый элемент массива описывает отдельный дополнительный диск. Для каждого диска необходимо задать параметр
size, параметрstorageClassнеобязателен.-
строкаspec.additionalDisks.sizeРазмер дополнительного диска.
Шаблон:
^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$Пример:
size: 10Gi -
строкаspec.additionalDisks.storageClass
Имя существующего StorageClass, который будет использоваться для создания диска.
Если значение не указано, то будет использоваться StorageClass, согласно настройке глобального параметра storageClass.
-
-
объектspec.etcdDiskПараметры диска для etcd.
-
строкаspec.etcdDisk.size
Обязательный параметр
Размер дополнительного диска.Шаблон:
^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$Пример:
size: 10Gi -
строкаspec.etcdDisk.storageClass
Имя существующего StorageClass, который будет использоваться для создания диска.
Если значение не указано, то будет использоваться StorageClass, согласно настройке глобального параметра storageClass.
-
-
объектspec.rootDisk
Обязательный параметр
Указывает настройки для корневого диска виртуальной машины.-
объектspec.rootDisk.image
Обязательный параметр
Параметры образа, который будет использоваться для создания корневого диска виртуальной машины.-
строкаspec.rootDisk.image.kind
Обязательный параметр
Тип источника изображения.Допустимые значения:
ClusterVirtualImage,VirtualImage,VirtualDisk -
строкаspec.rootDisk.image.name
Обязательный параметр
Имя образа, который будет использоваться для создания корневого диска.
Для установки требуются образы ОС Linux с предустановленным cloud-init.
-
-
строкаspec.rootDisk.size
Обязательный параметр
Размер корневого диска.Шаблон:
^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$Пример:
size: 10Gi -
строкаspec.rootDisk.storageClass
Имя существующего StorageClass будет использоваться для создания корневого диска виртуальной машины.
Если значение не указано, то будет использоваться StorageClass, согласно настройке глобального параметра storageClass.
-
-
объектspec.virtualMachine
Обязательный параметр
Настройки виртуальной машины для созданного узла.
Для виртуальных машин узлов используется политика запуска
runPolicy: AlwaysOnUnlessStoppedManually. Это позволяет вручную останавливать ВМ (например, для обслуживания) без принудительного автозапуска.-
объектspec.virtualMachine.additionalAnnotationsДополнительные аннотации для ресурса виртуальной машины.
Пример:
cluster-owner: user -
объектspec.virtualMachine.additionalLabelsДополнительные метки для ресурса виртуальной машины.
Пример:
cluster-owner: user -
строкаspec.virtualMachine.bootloader
Определяет загрузчик для виртуальной машины.
BIOS— используется BIOS;EFI— используется Unified Extensible Firmware (EFI/UEFI);EFIWithSecureBoot— используется UEFI/EFI c поддержкой Secure Boot.
По умолчанию:
EFIДопустимые значения:
BIOS,EFI,EFIWithSecureBoot -
объектspec.virtualMachine.cpu
Обязательный параметр
Настройки процессора для виртуальной машины.-
строкаspec.virtualMachine.cpu.coreFraction
Гарантированная доля CPU, выделяемая виртуальной машине, в процентах.
При значении
Autoвыбор доли CPU передаётся Vertical VirtualMachine Autoscaler родительского кластера DVP.Vertical VirtualMachine Autoscaler включается автоматически, если модуль
virtualizationиспользуется в редакции EE и включён модульvertical-pod-autoscaler. Кроме того, в ModuleConfig модуляvirtualizationдолжен быть включён feature gateHotplugCPUAndMemoryWithInPlaceResize.По умолчанию:
100%Шаблон:
^(Auto|(100|[1-9][0-9]?)%)$Пример:
coreFraction: 100% -
целое числоspec.virtualMachine.cpu.cores
Обязательный параметр
Количество ядер процессора для виртуальной машины.Допустимые значения:
1 <= XПример:
cores: '4'
-
-
массив объектовspec.virtualMachine.gpus
Список GPU-устройств, подключаемых к виртуальной машине.
Каждый элемент ссылается на
GPUClassпо имени, порядок элементов не важен. Чтобы подключить несколько устройств одного класса, повторите элемент. К одной виртуальной машине подключается не более 16 устройств.В кластере, где создаются виртуальные машины, включите feature gate
GPUв параметреfeatureGatesмодуляvirtualization, включите модульgpuв режиме DRA и создайте нужныйGPUClass. Полный список требований приведён в разделе «GPU-устройства в виртуальных машинах». Виртуальная машина с подключённым GPU не переносится живой миграцией.Изменение параметра у существующего класса по-разному влияет на узлы в зависимости от типа NodeGroup, которая на него ссылается:
CloudEphemeral— узлы пересоздаются;CloudPermanentи master-узлы — командаdhctl convergeприменяет изменение к существующим виртуальным машинам. Виртуальная машина обновляется на месте, а не пересоздаётся, и, поскольку для неё заданdisruptions.restartApprovalModeсо значениемAutomatic, изменение применяется перезагрузкой виртуальной машины без дополнительного подтверждения. Master-узлы команда обновляет по одному и дожидается готовности каждого.
Проброс делает устройство доступным внутри виртуальной машины, но не публикует на узле ресурс
nvidia.com/gpu. Чтобы узел предоставлял этот ресурс, установите драйвер NVIDIA модулемgpuи задайте в NodeGroup секциюspec.gpu.Cluster Autoscaler строит шаблонный узел пустой NodeGroup только из CPU и памяти, GPU в него не попадает. Поэтому NodeGroup с GPU и
cloudInstances.minPerZoneсо значением0не масштабируется с нуля под рабочие нагрузки, запрашивающие GPU. Для таких NodeGroup задавайтеminPerZoneне меньше 1.-
строкаspec.virtualMachine.gpus.gpuClassName
Имя
GPUClass, который выбирает подключаемый GPU, напримерnvidia-h100.GPUClassдолжен существовать в кластере, где создаются виртуальные машины.Длина:
1..253Шаблон:
^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$Пример:
gpuClassName: nvidia-h100
-
строкаspec.virtualMachine.liveMigrationPolicy
Политика живой миграции виртуальной машины.
Manual— миграция управляется вручную;Never— миграция отключена;AlwaysSafe— всегда использовать безопасную миграцию (может не сработать при высокой скорости изменений памяти ВМ);PreferSafe— предпочитать безопасную миграцию, переключаться на forced при необходимости;AlwaysForced— всегда использовать forced-миграцию с замедлением ВМ;PreferForced— предпочитать forced-миграцию (рекомендуется для master-узлов из-за высокой активности памяти).
По умолчанию:
PreferForcedДопустимые значения:
Manual,Never,AlwaysSafe,PreferSafe,AlwaysForced,PreferForcedПример:
liveMigrationPolicy: PreferForced -
объектspec.virtualMachine.memory
Обязательный параметр
Определяет параметры памяти для виртуальной машины.-
строкаspec.virtualMachine.memory.size
Обязательный параметр
Количество ресурсов памяти, разрешенных для виртуальной машины.Шаблон:
^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$Пример:
size: 4Gi
-
-
строкаspec.virtualMachine.priorityClassNameАналогично параметру
spec.priorityClassNameв Kubernetes Pods. -
строкаspec.virtualMachine.runPolicy
Политика запуска виртуальной машины.
AlwaysOn— виртуальная машина всегда должна быть запущена;AlwaysOff— виртуальная машина всегда должна быть остановлена;Manual— состояние виртуальной машины управляется вручную;AlwaysOnUnlessStoppedManually— виртуальную машину можно остановить вручную (например, для обслуживания), но она автоматически запустится после перезагрузки хоста.
По умолчанию:
AlwaysOnUnlessStoppedManuallyДопустимые значения:
AlwaysOn,AlwaysOff,Manual,AlwaysOnUnlessStoppedManuallyПример:
runPolicy: AlwaysOnUnlessStoppedManually -
строкаspec.virtualMachine.virtualMachineClassName
Обязательный параметр
Имя VirtualMachineClass.
Ресурс VirtualMachineClass предназначен для централизованной конфигурации предпочтительных параметров виртуальных машин. Он позволяет задавать инструкции CPU, политики конфигурации ресурсов CPU и памяти для виртуальных машин, а также устанавливать соотношения этих ресурсов.
-
-