Предварительная версия. Функциональность может измениться, но основные возможности сохранятся. Совместимость с будущими версиями может потребовать ручных действий по миграции.
ClusterVirtualImage
Scope: Cluster
Version: v1alpha2
Описывает образ диска виртуальной машины, который может использоваться в качестве источника данных для новых ресурсов VirtualDisks или установочный образ (iso), который может быть смонтирован в ресурсе VirtualMachines напрямую. Данный тип ресурса доступен для всех пространств имен в кластере.
Этот ресурс не может быть изменён после создания.
После появления в кластере этого ресурса создаётся образ контейнера, который хранится в специальном реестре контейнеров Deckhouse Virtualization Container Registry (DVCR).
-
строкаAPIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
-
строкаKind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
-
-
-
объектИспользование образа, который хранится во внешнем реестре контейнеров. Поддерживаются только реестры контейнеров с включённым протоколом TLS. Чтобы предоставить собственную цепочку центров сертификации, используйте поле
caBundle
.-
строка
Обязательный параметр
Путь к образу в реестре контейнеров.Шаблон:
^(?P<name>(?:(?P<domain>(?:(?:localhost|[\w-]+(?:\.[\w-]+)+)(?::\d+)?)|[\w]+:\d+)/)?(?P<image>[a-z0-9_.-]+(?:/[a-z0-9_.-]+)*))(?::(?P<tag>[\w][\w.-]{0,127}))?(?:@(?P<digest>[A-Za-z][A-Za-z0-9]*(?:[+.-_][A-Za-z][A-Za-z0-9]*)*:[0-9a-fA-F]{32,}))?$
Пример:
image: registry.example.com/images/slackware:15
-
-
объект
Создание образа из файла, размещённого на указанном URL-адресе. Поддерживаемые схемы:
- HTTP;
- HTTPS.
Для схемы HTTPS есть возможность пропустить проверку TLS.
-
объектКонтрольная сумма файла для проверки целостности и отсутствия изменений в загруженных данных. Файл должен соответствовать всем указанным контрольным суммам.
-
строка
Обязательный параметр
URL-адрес, указывающий на файл для создания образа. Допустимые форматы файла:
- qcow2;
- vmdk;
- vdi;
- iso;
- raw.
Файл может быть сжат в архив в одном из следующих форматов:
- gz;
- xz.
Шаблон:
^http[s]?:\/\/(?:[a-zA-Z]|[0-9]|[$-_@.&+]|[!*\(\),]|(?:%[0-9a-fA-F][0-9a-fA-F]))+$
Пример:
url: https://mirror.example.com/images/slackware-15.qcow.gz
-
объектИспользование существующего ресурса VirtualImage, ClusterVirtualImage, VirtualDisk или VirtualDiskSnapshot для создания образа.
-
строка
Обязательный параметр
Доступные типы источников для создания образа:
HTTP
— из файла, опубликованного на HTTP/HTTPS-сервере;ContainerImage
— из другого образа в реестре контейнеров;ObjectRef
— из существующего ресурса;Upload
— загрузить вручную.
Допустимые значения:
HTTP
,ContainerImage
,ObjectRef
,Upload
-
-
VirtualDisk
Scope: Namespaced
Version: v1alpha2
Ресурс VirtualDisk описывает желаемую конфигурацию диска виртуальной машины. VirtualDisk можно смонтировать в виртуальной машине статически, указав его в списке дисков .spec.blockDeviceRefs
, или «на лету» – с помощью ресурса VirtualMachineBlockDeviceAttachments.
После создания VirtualDisk можно изменить только размер диска с помощью поля .spec.persistentVolumeClaim.size
. Все остальные поля изменить нельзя.
-
строкаAPIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
-
строкаKind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
-
-
объектТип источника, из которого будет создан диск. Если источник (
.spec.dataSource
) отсутствует, будет создан пустой диск.-
объектИспользование образа, который хранится во внешнем реестре контейнеров. Поддерживаются только реестры контейнеров с включённым протоколом TLS. Чтобы предоставить собственную цепочку центров сертификации, используйте поле
caBundle
.-
строка
Обязательный параметр
Путь к образу в реестре контейнеров.Шаблон:
^(?P<name>(?:(?P<domain>(?:(?:localhost|[\w-]+(?:\.[\w-]+)+)(?::\d+)?)|[\w]+:\d+)/)?(?P<image>[a-z0-9_.-]+(?:/[a-z0-9_.-]+)*))(?::(?P<tag>[\w][\w.-]{0,127}))?(?:@(?P<digest>[A-Za-z][A-Za-z0-9]*(?:[+.-_][A-Za-z][A-Za-z0-9]*)*:[0-9a-fA-F]{32,}))?$
Пример:
image: registry.example.com/images/slackware:15
-
-
объект
Создание диска из файла, размещённого на указанном URL-адресе. Поддерживаемые схемы:
- HTTP;
- HTTPS.
Для схемы HTTPS есть возможность пропустить проверку TLS.
-
объектКонтрольная сумма файла для проверки целостности и отсутствия изменений в загруженных данных. Файл должен соответствовать всем указанным контрольным суммам.
-
строка
Обязательный параметр
URL-адрес, указывающий на файл для создания образа. Допустимые форматы файла:
- qcow2;
- vmdk;
- vdi;
- iso;
- raw.
Файл может быть сжат в архив в одном из следующих форматов:
- gz;
- xz.
Шаблон:
^http[s]?:\/\/(?:[a-zA-Z]|[0-9]|[$-_@.&+]|[!*\(\),]|(?:%[0-9a-fA-F][0-9a-fA-F]))+$
Пример:
url: https://mirror.example.com/images/slackware-15.qcow.gz
-
объектИспользование существующего ресурса VirtualImage, ClusterVirtualImage или VirtualDiskSnapshot для создания диска.
-
строка
Доступные типы источников для создания диска:
HTTP
— из файла, опубликованного на HTTP/HTTPS-сервере;ContainerImage
— из образа в реестре контейнеров;ObjectRef
— из существующего ресурса;Upload
— загрузить образ диска вручную.
Допустимые значения:
HTTP
,ContainerImage
,ObjectRef
,Upload
-
-
объектНастройки для создания PersistentVolumeClaim (PVC) для хранения диска.
-
строка или число
Желаемый размер PVC для хранения диска. Если диск создается из образа, размер PVC должен быть не меньше размера исходного образа в распакованном состоянии.
Данный параметр можно опустить, если заполнен блок
.spec.dataSource
. В этом случае контроллер определит размер диска автоматически, на основе размера распакованного образа из источника указанного в.spec.dataSource
.Шаблон:
^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
-
строка
Имя StorageClass, необходимого для PVC. Подробнее об использовании StorageClass для PVC: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1.
При создании дисков пользователь может явно указать необходимый StorageClass. Если этого не сделать, будет использован StorageClass, доступный по умолчанию.
Особенности диска и поведение виртуальной машины зависят от выбранного StorageClass.
Параметр
VolumeBindingMode
в StorageClass влияет на процесс создания дисков. Допустимые значения:Immediate
- диск будет создан и доступен для использования сразу после создания;WaitForFirstConsumer
- диск будет создан при первом использовании на узле, где будет запущена виртуальная машина.
StorageClass поддерживает различные настройки хранения:
- создание блочного устройства (
Block
) или файловой системы (FileSystem
); - множественный доступ (
ReadWriteMany
) или единичный доступ (ReadWriteOnce
).ReadWriteMany
-диски поддерживают множественный доступ, что позволяет выполнять «живую» миграцию виртуальных машин. В отличие от них,ReadWriteOnce
-диски, ограниченные доступом только с одного узла, не могут обеспечить такую возможность.
Для известных типов хранилищ Deckhouse самостоятельно определит наиболее эффективные настройки при создании дисков (в порядке убывания приоритетов):
Block
+ReadWriteMany
;FileSystem
+ReadWriteMany
;Block
+ReadWriteOnce
;FileSystem
+ReadWriteOnce
.
-
-
VirtualDiskSnapshot
Scope: Namespaced
Version: v1alpha2
Предоставляет ресурс для создания снимков существующих виртуальных дисков, которые могут быть использованы в качестве источников данных для создания новых виртуальных дисков.
В процессе выполнения автоматически создаётся ресурс VolumeSnapshot.
-
-
булевый
Создавать снимок диска подключённой виртуальной машины только в том случае, если возможно заморозить её через агента.
Если установлено значение
True
, снимок виртуального диска будет создан, если выполняется хотя бы одно из следующих условий:- виртуальный диск не подключен ни к одной виртуальной машине;
- виртуальный диск подключен к виртуальной машине, которая выключена;
- виртуальный диск подключен к виртуальной машине с агентом, и операция заморозки прошла успешно.
По умолчанию:
true
-
VirtualImage
Scope: Namespaced
Version: v1alpha2
Описывает образ диска виртуальной машины, который может использоваться в качестве источника данных для новых ресурсов VirtualDisks или установочный образ (iso), который может быть смонтирован в ресурс VirtualMachines напрямую.
Этот ресурс не может быть изменён после создания.
После появления в кластере этого ресурса создаётся образ контейнера, который хранится в специальном реестре контейнеров Deckhouse Virtualization Container Registry (DVCR).
-
строкаAPIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
-
строкаKind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
-
-
-
объектИспользование образа, который хранится во внешнем реестре контейнеров. Поддерживаются только реестры контейнеров с включённым протоколом TLS. Чтобы предоставить собственную цепочку центров сертификации, используйте поле
caBundle
.-
строка
Обязательный параметр
Путь к образу в реестре контейнеров.Шаблон:
^(?P<name>(?:(?P<domain>(?:(?:localhost|[\w-]+(?:\.[\w-]+)+)(?::\d+)?)|[\w]+:\d+)/)?(?P<image>[a-z0-9_.-]+(?:/[a-z0-9_.-]+)*))(?::(?P<tag>[\w][\w.-]{0,127}))?(?:@(?P<digest>[A-Za-z][A-Za-z0-9]*(?:[+.-_][A-Za-z][A-Za-z0-9]*)*:[0-9a-fA-F]{32,}))?$
Пример:
image: registry.example.com/images/slackware:15
-
-
объект
Создание образа из файла, размещённого на указанном URL-адресе. Поддерживаемые схемы:
- HTTP;
- HTTPS.
Для схемы HTTPS есть возможность пропустить проверку TLS.
-
объектКонтрольная сумма файла для проверки целостности и отсутствия изменений в загруженных данных. Файл должен соответствовать всем указанным контрольным суммам.
-
строка
Обязательный параметр
URL-адрес, указывающий на файл для создания образа. Допустимые форматы файла:
- qcow2;
- vmdk;
- vdi;
- iso;
- raw.
Файл может быть сжат в архив в одном из следующих форматов:
- gz;
- xz.
Шаблон:
^http[s]?:\/\/(?:[a-zA-Z]|[0-9]|[$-_@.&+]|[!*\(\),]|(?:%[0-9a-fA-F][0-9a-fA-F]))+$
Пример:
url: https://mirror.example.com/images/slackware-15.qcow.gz
-
объектИспользование существующего ресурса VirtualImage, ClusterVirtualImage, VirtualDisk или VirtualDiskSnapshot для создания образа.
-
строка
Доступные типы источников для создания образа:
HTTP
— из файла, опубликованного на HTTP/HTTPS-сервере;ContainerImage
— из образа в реестре контейнеров;ObjectRef
— из существующего ресурса;Upload
— загрузить образ диска вручную.
Допустимые значения:
HTTP
,ContainerImage
,ObjectRef
,Upload
-
-
объектНастройки для создания PersistentVolumeClaim (PVC) для хранения образа с хранилищем типа ‘PersistentVolumeClaim’.
-
строка
Имя StorageClass, необходимого для PVC. Подробнее об использовании StorageClass для PVC: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1
При создании образа с хранилищем типа ‘PersistentVolumeClaim’ пользователь может явно указать необходимый StorageClass для создания диска. Если этого не сделать, будет использован StorageClass, доступный по умолчанию.
-
-
строка
Обязательный параметр
Тип хранилища для образа:
ContainerRegistry
— использовать реестр контейнеров DVCR. В этом случае образы будут загружаться в контейнер, а затем в DVCR (поставляется с модулем виртуализации);Kubernetes
- устаревший тип хранилища. Не рекомендуется к использованию и может быть удалён в будущих версиях. Используйте типPersistentVolumeClaim
;PersistentVolumeClaim
- использовать PVC.
По умолчанию:
ContainerRegistry
Допустимые значения:
ContainerRegistry
,Kubernetes
,PersistentVolumeClaim
-
VirtualMachineBlockDeviceAttachment
Scope: Namespaced
Version: v1alpha2
-
строкаAPIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
-
строкаKind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
-
-
объект
Обязательный параметр
Блочное устройство, которое будет подключено к ВМ в качестве hot-plug-диска.-
строка
Тип блочного устройства. Возможные типы:
VirtualDisk
— использоватьVirtualDisk
в качестве диска. Этот тип всегда монтируется в режиме RW.VirtualImage
— использоватьVirtualImage
в качестве диска. Этот тип всегда монтируется в режиме RO.ClusterVirtualImage
- использоватьClusterVirtualImage
в качестве диска. Этот тип всегда монтируется в режиме RO.
Допустимые значения:
VirtualDisk
,VirtualImage
,ClusterVirtualImage
-
-
VirtualMachineClass
Scope: Cluster
Version: v1alpha2
Данный ресурс описывает:
- требования к виртуальному CPU;
- требования к размещению виртуальных машин (ВМ) на узлах;
- политику определения размера ресурсов ВМ.
Этот ресурс не может быть удалён, пока он используется хотя бы на одной ВМ.
-
строкаAPIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
-
строкаKind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
-
-
-
объект
Создать универсальную модель виртуального CPU на основе наборов инструкций, которые поддерживаются на всех физических CPU узлов выборки.
Допустим, у нас есть выборка из трёх узлов, где на каждом узле есть физические CPU с различными наборами инструкций. Набор инструкций физического CPU-узла 1:
[f1, f2, f3, f4]
, для узла 2:[f1, f2]
, и для узла 3:[f1, f2, f3]
. Для создания универсальной модели CPU для этой выборки узлов необходимо объединить общие инструкции, присущие всем узлам, то есть[f1, f2]
. В результате мы получим виртуальный CPU с набором инструкций[f1, f2]
.-
объектВыборка узлов, на основе которой будет создана универсальная модель CPU.
-
массив объектовСписок селекторов лейблов. Требования селекторов объединяются, т.е. должны выполняться все условия списка. Под лейблом понимается пара:
ключ = значение
.-
строка
Оператор определяет отношение ключа лейбла к набору его значений. Допустимые операторы:
In
,NotIn
,Exists
иDoesNotExist
:In
- значение ключа лейбла входит в заданный список лейбловvalues
;NotIn
- значение ключа лейбла не входит в заданный список лейбловvalues
;Exist
- ключ лейбла существует;DoesNotExist
- ключ лейбла не существует.
-
объект
Карта пар
ключ=значение
. Одна параключ=значение
дляmatchLabels
эквивалентна элементуmatchExpressions
, ключевым полем которого являетсяключ
, оператором -In
, а список значений содержит толькозначение
.Для выборки по данному критерию все значения логически суммируются.
-
-
-
массив строкНеобходимые инструкции для процессора в виде списка. Дополнительная информация о поддерживаемых инструкциях.
Пример:
features: - mmx - vmx - sse2
-
строкаНазвание модели процессора. Дополнительная информация о моделях.
Минимальная длина:
1
Пример:
model: IvyBridge
-
строка
Обязательный параметр
В качестве типа ресурса поддерживаются следующие варианты:
Host
- используется виртуальный CPU, максимально близкий к CPU узла платформы по набору инструкций. Это обеспечивает высокую производительность и функциональность, а также совместимость с «живой» миграцией для узлов с похожими типами процессоров. Например, миграция ВМ между узлами с процессорами Intel и AMD не будет работать. Это также справедливо для процессоров разных поколений, так как набор инструкций у них отличается;HostPassthrough
- используется физический CPU узла платформы напрямую, без каких-либо изменений. При использовании данного класса гостевая ВМ может быть перенесена только на целевой узел, у которого CPU точно соответствует CPU исходного узла;Discovery
- создание виртуального CPU на основе наборов инструкций физических CPU для заданного набора узлов;Model
- модель процессора. Модель процессора - это именованный и предварительно определённый набор поддерживаемых инструкций процессора;Features
- необходимый набор поддерживаемых инструкций для процессора.
Допустимые значения:
Host
,HostPassthrough
,Discovery
,Model
,Features
-
-
-
массив объектовСписок селекторов лейблов. Требования селекторов объединяются, т.е. должны выполняться все условия списка. Под лейблом понимается пара:
ключ = значение
.-
строка
Оператор определяет отношение ключа лейбла к набору его значений. Допустимые операторы:
In
,NotIn
,Exists
иDoesNotExist
:In
- значение ключа лейбла входит в заданный список лейбловvalues
;NotIn
- значение ключа лейбла не входит в заданный список лейбловvalues
;Exist
- ключ лейбла существует;DoesNotExist
- ключ лейбла не существует.
-
объект
Карта пар
ключ=значение
. Одна параключ=значение
дляmatchLabels
эквивалентна элементуmatchExpressions
, ключевым полем которого является «ключ», оператором - «In», а список значений содержит только «значение».Для выборки по данному критерию все значения логически суммируются.
-
-
-
-
массив объектовПараметр аналогичен параметру
spec.tolerations
у подов. Подробнее о taints и tolerations. Tolerations из этого параметра будут объединены с tolerations, указанными в ресурсе VirtualMachine. При этом, tolerations у VirtualMachine имеют больший приоритет.-
целочисленныйTolerationSeconds represents the period of time the toleration (which must be of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, it is not set, which means tolerate the taint forever (do not evict). Zero and negative values will be treated as 0 (evict immediately) by the system.
-
VirtualMachineIPAddress
Scope: Namespaced
Version: v1alpha2
VirtualMachineIPAddressLease
Scope: Cluster
Version: v1alpha2
VirtualMachineOperation
Scope: Namespaced
Version: v1alpha2
-
строкаAPIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
-
строкаKind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
-
-
строка
Обязательный параметр
Операции над виртуальной машиной:
Start
- запустить виртуальную машину;Stop
- остановить виртуальную машину;Restart
- перезапустить виртуальную машину;Migrate
(устаревшее значение) - мигрировать виртуальную машину на другой узел, доступный для запуска данной ВМ;Evict
- мигрировать виртуальную машину на другой узел, доступный для запуска данной ВМ.
Допустимые значения:
Restart
,Start
,Stop
,Migrate
,Evict
VirtualMachineRestore
Scope: Namespaced
Version: v1alpha2
-
строкаAPIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
-
строкаKind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
-
-
VirtualMachine
Scope: Namespaced
Version: v1alpha2
Ресурс, описывающий конфигурацию и статус виртуальной машины (ВМ). На запущенной ВМ изменённые параметры применятся только после перезагрузки, за исключением следующих параметров, которые применяются «на лету»:
.metadata.labels
;.metadata.annotations
;.spec.disruptions.restartApprovalMode
..spec.runPolicy
.
-
-
объект
По аналогии, как и в параметре подов
spec.affinity
в Kubernetes.Настройка
affinity
полностью аналогична приведённой выше документации, за исключением названий некоторых параметров. Используются следующие аналоги:podAffinity
->virtualMachineAndPodAffinity
;podAffinityTerm
->virtualMachineAndPodAffinityTerm
.
-
-
-
-
массив объектов
-
-
-
массив объектов
Обязательный параметр
-
-
-
-
массив объектов
-
spec.affinity.virtualMachineAndPodAffinity.preferredDuringSchedulingIgnoredDuringExecution.virtualMachineAndPodAffinityTerm
-
spec.affinity.virtualMachineAndPodAffinity.preferredDuringSchedulingIgnoredDuringExecution.virtualMachineAndPodAffinityTerm.labelSelector
-
spec.affinity.virtualMachineAndPodAffinity.preferredDuringSchedulingIgnoredDuringExecution.virtualMachineAndPodAffinityTerm.matchLabelKeys
-
spec.affinity.virtualMachineAndPodAffinity.preferredDuringSchedulingIgnoredDuringExecution.virtualMachineAndPodAffinityTerm.mismatchLabelKeys
-
spec.affinity.virtualMachineAndPodAffinity.preferredDuringSchedulingIgnoredDuringExecution.virtualMachineAndPodAffinityTerm.namespaceSelector
-
spec.affinity.virtualMachineAndPodAffinity.preferredDuringSchedulingIgnoredDuringExecution.virtualMachineAndPodAffinityTerm.namespaces
-
-
-
массив объектов
-
spec.affinity.virtualMachineAndPodAffinity.requiredDuringSchedulingIgnoredDuringExecution.matchLabelKeys
-
spec.affinity.virtualMachineAndPodAffinity.requiredDuringSchedulingIgnoredDuringExecution.mismatchLabelKeys
-
spec.affinity.virtualMachineAndPodAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaces
-
-
-
массив объектов
-
spec.affinity.virtualMachineAndPodAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.virtualMachineAndPodAffinityTerm
-
spec.affinity.virtualMachineAndPodAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.virtualMachineAndPodAffinityTerm.labelSelector
-
spec.affinity.virtualMachineAndPodAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.virtualMachineAndPodAffinityTerm.matchLabelKeys
-
spec.affinity.virtualMachineAndPodAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.virtualMachineAndPodAffinityTerm.mismatchLabelKeys
-
spec.affinity.virtualMachineAndPodAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.virtualMachineAndPodAffinityTerm.namespaceSelector
-
spec.affinity.virtualMachineAndPodAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.virtualMachineAndPodAffinityTerm.namespaces
-
-
-
массив объектов
-
spec.affinity.virtualMachineAndPodAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.matchLabelKeys
-
spec.affinity.virtualMachineAndPodAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.mismatchLabelKeys
-
spec.affinity.virtualMachineAndPodAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaces
-
-
массив объектов
Обязательный параметр
Список блочных устройств, которые могут быть смонтированы в ВМ.
Порядок загрузки определяется порядком в списке.
-
строка
Поддерживаемые типы устройств:
ClusterVirtualImage
— использовать ClusterVirtualImage в качестве диска. Данный тип всегда монтируется в режиме для чтения (ReadOnly
). ISO-образ будет смонтирован как устройство CD-ROM;VirtualImage
— использовать VirtualImage в качестве диска. Данный тип всегда монтируется в режиме для чтения (ReadOnly
). ISO-образ будет смонтирован как устройство CD-ROM;VirtualDisk
— использовать VirtualDisk в качестве диска. Данный тип всегда монтируется в режиме для чтения и записи (ReadWrite
).
Допустимые значения:
ClusterVirtualImage
,VirtualImage
,VirtualDisk
-
-
-
объект
Описание политики применения изменений, требующих перезагрузки ВМ.
Для применения изменений в некоторых параметрах конфигурации ВМ потребуется перезагрузка. Данная политика позволяет задать поведение, определяющее как ВМ будет реагировать на такие изменения.
По умолчанию:
{ "restartApprovalMode": "Manual" }
-
строка
Режим одобрения для изменений, требующих перезагрузки ВМ:
Manual
— изменения не будут применены до тех пор, пока пользователь самостоятельно не осуществит перезагрузку ВМ;Automatic
— ВМ будет перезагружена сразу после сохранения параметров, требующих перезагрузки.
Допустимые значения:
Manual
,Automatic
-
-
-
строка
Параметр позволяет выбрать тип используемой ОС, для которой будет создана ВМ с оптимальным набором необходимых виртуальных устройств и параметров.
Windows
— для ОС семейства Microsoft Windows;Generic
— для других типов ОС.
По умолчанию:
Generic
Допустимые значения:
Windows
,Generic
-
-
объект
Ссылка на существующий ресурс со сценарием автоматизации Windows.
Структура ресурса для типа
SysprepRef
:.data.autounattend.xml
;.data.unattend.xml
.
-
строка
Поддерживаемые параметры для использования сценария инициализации:
UserData
— использовать сценарийcloud-init
в секции.spec.provisioning.UserData
;UserDataRef
— использовать сценарийcloud-init
, который находится в другом ресурсе;SysprepRef
— использовать сценарий автоматизации установки Windows, который находится в другом ресурсе.
Допустимые значения:
UserData
,UserDataRef
,SysprepRef
-
строка
Текст сценария
cloud-init
.Дополнительная информация о
cloud-init
и примеры конфигурации. -
объект
Ссылка на существующий ресурс со сценарием
cloud-init
.Структура ресурса для типа
userDataRef
:.data.userData
.
-
-
строка
Параметр определяет политику запуска ВМ:
AlwaysOn
— после создания ВМ всегда находится в работающем состоянии, даже в случае отключения средствами ОС;AlwaysOff
— после создания ВМ всегда находится в выключенном состоянии;Manual
— после создания ВМ выключается. Включение и выключение ВМ контролируется через API-сервисы или средства ОС;AlwaysOnUnlessStoppedManually
— после создания ВМ всегда находится в работающем состоянии. ВМ можно выключить средствами ОС или воспользоваться командой для утилиты d8:d8 v stop <vm_name>
.
По умолчанию:
AlwaysOnUnlessStoppedManually
Допустимые значения:
AlwaysOn
,AlwaysOff
,Manual
,AlwaysOnUnlessStoppedManually
-
-
массив объектовПо аналогии с параметром подов
spec.topologySpreadConstraints
в Kubernetes. -
-
строка
Имя для связанного ресурса virtualMachineIPAddress.
Указывается при необходимости использования ранее созданного IP-адреса ВМ.
Если не указано явно, по умолчанию для ВМ создаётся ресурс virtualMachineIPAddress с именем, аналогичным ресурсу ВМ (
.metadata.name
).
-
VirtualMachineSnapshot
Scope: Namespaced
Version: v1alpha2
-
строкаAPIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
-
строкаKind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
-
-
строка
Обязательный параметр
Сохранить IP-адрес виртуальной машины или нет:
Always
- при создании снимка IP-адрес виртуальной машины будет сконвертирован изAuto
вStatic
и сохранён;Never
- при создании снимка IP-адрес виртуальной машины не будет сконвертирован.
По умолчанию:
Always
Допустимые значения:
Always
,Never
-
булевый
Обязательный параметр
Создавать снимок виртуальной машины только в том случае, если возможно заморозить её через агента.
Если установлено значение
true
, снимок виртуальной машины будет создан только в следующих случаях:- виртуальная машина выключена;
- виртуальная машина с агентом, операция заморозки прошла успешно.
По умолчанию:
true
-
-