VirtualMachine

Scope: Namespaced
Version: v1alpha2

Ресурс, описывающий конфигурацию и статус виртуальной машины (ВМ). Для запущенной ВМ изменение параметров может быть применено только после перезагрузки ВМ, за исключением следующих параметров (они применяются на лету):

  • .metadata.labels
  • .metadata.annotations
  • .spec.disruptions.restartApprovalMode
  • .spec.disruptions.runPolicy
  • spec
    объект

    Обязательный параметр

    • spec.affinity
      объект

      По аналогии, как и в параметре pods spec.affinity в Kubernetes.

      Настройка Affinity полностью аналогична приведенной выше документации, разница лишь в названиях некоторых параметров. Фактически, используются следующие аналоги:

      • podAffinity -> virtualMachineAndPodAffinity;
      • podAffinityTerm -> virtualMachineAndPodAffinityTerm.
      • spec.affinity.nodeAffinity
        объект

        Описывает правила affiniy узлов для ВМ.

        • spec.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution
          массив объектов
          • spec.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference
            объект

            Обязательный параметр

            • spec.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchExpressions
              массив объектов
              • spec.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchExpressions.key
                строка

                Обязательный параметр

              • spec.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchExpressions.operator
                строка

                Обязательный параметр

              • spec.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchExpressions.values
                массив строк
                • Элемент массива
                  строка
            • spec.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchFields
              массив объектов
              • spec.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchFields.key
                строка

                Обязательный параметр

              • spec.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchFields.operator
                строка

                Обязательный параметр

              • spec.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchFields.values
                массив строк
                • Элемент массива
                  строка
          • spec.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.weight
            целочисленный

            Обязательный параметр

            Допустимые значения: 1 <= X <= 100

        • spec.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution
          объект
          • spec.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms
            массив объектов

            Обязательный параметр

            • spec.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchExpressions
              массив объектов
              • spec.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchExpressions.key
                строка

                Обязательный параметр

              • spec.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchExpressions.operator
                строка

                Обязательный параметр

              • spec.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchExpressions.values
                массив строк
                • Элемент массива
                  строка
            • spec.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchFields
              массив объектов
              • spec.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchFields.key
                строка

                Обязательный параметр

              • spec.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchFields.operator
                строка

                Обязательный параметр

              • spec.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchFields.values
                массив строк
                • Элемент массива
                  строка
      • spec.affinity.virtualMachineAndPodAffinity
        объект

        Описывает правила affiniy подов и ВМ.

        • spec.affinity.virtualMachineAndPodAffinity.preferredDuringSchedulingIgnoredDuringExecution
          массив объектов
          • spec.affinity.virtualMachineAndPodAffinity.preferredDuringSchedulingIgnoredDuringExecution.virtualMachineAndPodAffinityTerm
            объект

            Обязательный параметр

            • spec.affinity.virtualMachineAndPodAffinity.preferredDuringSchedulingIgnoredDuringExecution.virtualMachineAndPodAffinityTerm.labelSelector
              объект
              • spec.affinity.virtualMachineAndPodAffinity.preferredDuringSchedulingIgnoredDuringExecution.virtualMachineAndPodAffinityTerm.labelSelector.matchExpressions
                массив объектов
                • spec.affinity.virtualMachineAndPodAffinity.preferredDuringSchedulingIgnoredDuringExecution.virtualMachineAndPodAffinityTerm.labelSelector.matchExpressions.key
                  строка

                  Обязательный параметр

                • spec.affinity.virtualMachineAndPodAffinity.preferredDuringSchedulingIgnoredDuringExecution.virtualMachineAndPodAffinityTerm.labelSelector.matchExpressions.operator
                  строка

                  Обязательный параметр

                • spec.affinity.virtualMachineAndPodAffinity.preferredDuringSchedulingIgnoredDuringExecution.virtualMachineAndPodAffinityTerm.labelSelector.matchExpressions.values
                  массив строк
                  • Элемент массива
                    строка
              • spec.affinity.virtualMachineAndPodAffinity.preferredDuringSchedulingIgnoredDuringExecution.virtualMachineAndPodAffinityTerm.labelSelector.matchLabels
                объект
            • spec.affinity.virtualMachineAndPodAffinity.preferredDuringSchedulingIgnoredDuringExecution.virtualMachineAndPodAffinityTerm.matchLabelKeys
              массив строк
              • Элемент массива
                строка
            • spec.affinity.virtualMachineAndPodAffinity.preferredDuringSchedulingIgnoredDuringExecution.virtualMachineAndPodAffinityTerm.mismatchLabelKeys
              массив строк
              • Элемент массива
                строка
            • spec.affinity.virtualMachineAndPodAffinity.preferredDuringSchedulingIgnoredDuringExecution.virtualMachineAndPodAffinityTerm.namespaceSelector
              объект
              • spec.affinity.virtualMachineAndPodAffinity.preferredDuringSchedulingIgnoredDuringExecution.virtualMachineAndPodAffinityTerm.namespaceSelector.matchExpressions
                массив объектов
                • spec.affinity.virtualMachineAndPodAffinity.preferredDuringSchedulingIgnoredDuringExecution.virtualMachineAndPodAffinityTerm.namespaceSelector.matchExpressions.key
                  строка

                  Обязательный параметр

                • spec.affinity.virtualMachineAndPodAffinity.preferredDuringSchedulingIgnoredDuringExecution.virtualMachineAndPodAffinityTerm.namespaceSelector.matchExpressions.operator
                  строка

                  Обязательный параметр

                • spec.affinity.virtualMachineAndPodAffinity.preferredDuringSchedulingIgnoredDuringExecution.virtualMachineAndPodAffinityTerm.namespaceSelector.matchExpressions.values
                  массив строк
                  • Элемент массива
                    строка
              • spec.affinity.virtualMachineAndPodAffinity.preferredDuringSchedulingIgnoredDuringExecution.virtualMachineAndPodAffinityTerm.namespaceSelector.matchLabels
                объект
            • spec.affinity.virtualMachineAndPodAffinity.preferredDuringSchedulingIgnoredDuringExecution.virtualMachineAndPodAffinityTerm.namespaces
              массив строк
              • Элемент массива
                строка
            • spec.affinity.virtualMachineAndPodAffinity.preferredDuringSchedulingIgnoredDuringExecution.virtualMachineAndPodAffinityTerm.topologyKey
              строка

              Обязательный параметр

          • spec.affinity.virtualMachineAndPodAffinity.preferredDuringSchedulingIgnoredDuringExecution.weight
            целочисленный

            Обязательный параметр

            Допустимые значения: 1 <= X <= 100

        • spec.affinity.virtualMachineAndPodAffinity.requiredDuringSchedulingIgnoredDuringExecution
          массив объектов
          • spec.affinity.virtualMachineAndPodAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector
            объект
            • spec.affinity.virtualMachineAndPodAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchExpressions
              массив объектов
              • spec.affinity.virtualMachineAndPodAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchExpressions.key
                строка

                Обязательный параметр

              • spec.affinity.virtualMachineAndPodAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchExpressions.operator
                строка

                Обязательный параметр

              • spec.affinity.virtualMachineAndPodAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchExpressions.values
                массив строк
                • Элемент массива
                  строка
            • spec.affinity.virtualMachineAndPodAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchLabels
              объект
          • spec.affinity.virtualMachineAndPodAffinity.requiredDuringSchedulingIgnoredDuringExecution.matchLabelKeys
            массив строк
            • Элемент массива
              строка
          • spec.affinity.virtualMachineAndPodAffinity.requiredDuringSchedulingIgnoredDuringExecution.mismatchLabelKeys
            массив строк
            • Элемент массива
              строка
          • spec.affinity.virtualMachineAndPodAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector
            объект
            • spec.affinity.virtualMachineAndPodAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchExpressions
              массив объектов
              • spec.affinity.virtualMachineAndPodAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchExpressions.key
                строка

                Обязательный параметр

              • spec.affinity.virtualMachineAndPodAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchExpressions.operator
                строка

                Обязательный параметр

              • spec.affinity.virtualMachineAndPodAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchExpressions.values
                массив строк
                • Элемент массива
                  строка
            • spec.affinity.virtualMachineAndPodAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchLabels
              объект
          • spec.affinity.virtualMachineAndPodAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaces
            массив строк
            • Элемент массива
              строка
          • spec.affinity.virtualMachineAndPodAffinity.requiredDuringSchedulingIgnoredDuringExecution.topologyKey
            строка

            Обязательный параметр

      • spec.affinity.virtualMachineAndPodAntiAffinity
        объект

        Описывает правила anti-affiniy пода и ВМ.

        • spec.affinity.virtualMachineAndPodAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution
          массив объектов
          • spec.affinity.virtualMachineAndPodAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.virtualMachineAndPodAffinityTerm
            объект

            Обязательный параметр

            • spec.affinity.virtualMachineAndPodAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.virtualMachineAndPodAffinityTerm.labelSelector
              объект
              • spec.affinity.virtualMachineAndPodAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.virtualMachineAndPodAffinityTerm.labelSelector.matchExpressions
                массив объектов
                • spec.affinity.virtualMachineAndPodAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.virtualMachineAndPodAffinityTerm.labelSelector.matchExpressions.key
                  строка

                  Обязательный параметр

                • spec.affinity.virtualMachineAndPodAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.virtualMachineAndPodAffinityTerm.labelSelector.matchExpressions.operator
                  строка

                  Обязательный параметр

                • spec.affinity.virtualMachineAndPodAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.virtualMachineAndPodAffinityTerm.labelSelector.matchExpressions.values
                  массив строк
                  • Элемент массива
                    строка
              • spec.affinity.virtualMachineAndPodAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.virtualMachineAndPodAffinityTerm.labelSelector.matchLabels
                объект
            • spec.affinity.virtualMachineAndPodAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.virtualMachineAndPodAffinityTerm.matchLabelKeys
              массив строк
              • Элемент массива
                строка
            • spec.affinity.virtualMachineAndPodAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.virtualMachineAndPodAffinityTerm.mismatchLabelKeys
              массив строк
              • Элемент массива
                строка
            • spec.affinity.virtualMachineAndPodAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.virtualMachineAndPodAffinityTerm.namespaceSelector
              объект
              • spec.affinity.virtualMachineAndPodAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.virtualMachineAndPodAffinityTerm.namespaceSelector.matchExpressions
                массив объектов
                • spec.affinity.virtualMachineAndPodAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.virtualMachineAndPodAffinityTerm.namespaceSelector.matchExpressions.key
                  строка

                  Обязательный параметр

                • spec.affinity.virtualMachineAndPodAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.virtualMachineAndPodAffinityTerm.namespaceSelector.matchExpressions.operator
                  строка

                  Обязательный параметр

                • spec.affinity.virtualMachineAndPodAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.virtualMachineAndPodAffinityTerm.namespaceSelector.matchExpressions.values
                  массив строк
                  • Элемент массива
                    строка
              • spec.affinity.virtualMachineAndPodAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.virtualMachineAndPodAffinityTerm.namespaceSelector.matchLabels
                объект
            • spec.affinity.virtualMachineAndPodAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.virtualMachineAndPodAffinityTerm.namespaces
              массив строк
              • Элемент массива
                строка
            • spec.affinity.virtualMachineAndPodAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.virtualMachineAndPodAffinityTerm.topologyKey
              строка

              Обязательный параметр

          • spec.affinity.virtualMachineAndPodAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.weight
            целочисленный

            Обязательный параметр

            Допустимые значения: 1 <= X <= 100

        • spec.affinity.virtualMachineAndPodAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution
          массив объектов
          • spec.affinity.virtualMachineAndPodAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector
            объект
            • spec.affinity.virtualMachineAndPodAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchExpressions
              массив объектов
              • spec.affinity.virtualMachineAndPodAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchExpressions.key
                строка

                Обязательный параметр

              • spec.affinity.virtualMachineAndPodAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchExpressions.operator
                строка

                Обязательный параметр

              • spec.affinity.virtualMachineAndPodAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchExpressions.values
                массив строк
                • Элемент массива
                  строка
            • spec.affinity.virtualMachineAndPodAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchLabels
              объект
          • spec.affinity.virtualMachineAndPodAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.matchLabelKeys
            массив строк
            • Элемент массива
              строка
          • spec.affinity.virtualMachineAndPodAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.mismatchLabelKeys
            массив строк
            • Элемент массива
              строка
          • spec.affinity.virtualMachineAndPodAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector
            объект
            • spec.affinity.virtualMachineAndPodAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchExpressions
              массив объектов
              • spec.affinity.virtualMachineAndPodAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchExpressions.key
                строка

                Обязательный параметр

              • spec.affinity.virtualMachineAndPodAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchExpressions.operator
                строка

                Обязательный параметр

              • spec.affinity.virtualMachineAndPodAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchExpressions.values
                массив строк
                • Элемент массива
                  строка
            • spec.affinity.virtualMachineAndPodAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchLabels
              объект
          • spec.affinity.virtualMachineAndPodAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaces
            массив строк
            • Элемент массива
              строка
          • spec.affinity.virtualMachineAndPodAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.topologyKey
            строка

            Обязательный параметр

    • spec.blockDeviceRefs
      массив объектов

      Обязательный параметр

      Список блочных устройств, которые могут быть смонтированы в ВМ.

      Порядок загрузки определяется порядком в списке.

      The reference to block device.

      • spec.blockDeviceRefs.kind
        строка

        Поддерживаемые типы:

        • ClusterVirtualImage — использовать ClusterVirtualImage в качестве диска. Этот тип всегда монтируется в режиме для чтения (ReadOnly). Если образ является ISO-образом, он будет смонтирован как устройство CDROM.
        • VirtualImage — использовать VirtualImage в качестве диска. Этот тип всегда монтируется в режиме для чтения (ReadOnly). Если образ является ISO-образом, он будет смонтирован как устройство CDROM.
        • VirtualDisk — используйте VirtualDisk в качестве диска. Этот тип всегда монтируется в режиме для чтения и записи (ReadWrite).

        Допустимые значения: ClusterVirtualImage, VirtualImage, VirtualDisk

      • spec.blockDeviceRefs.name
        строка

        Имя ресурса заданного типа.

    • spec.bootloader
      строка

      Загрузчик для VM:

      • BIOS — использовать BIOS.
      • EFI — использовать Unified Extensible Firmware (EFI/UEFI).
      • EFIWithSecureBoot — использовать UEFI/EFI с поддержкой SecureBoot.

      По умолчанию: "BIOS"

      Допустимые значения: BIOS, EFI, EFIWithSecureBoot

    • spec.cpu
      объект

      Обязательный параметр

      Блок определяет настройки ЦП для виртуальной машины.

      • spec.cpu.coreFraction
        строка

        Гарантированная доля времени ЦП, которая будет выделена ВМ. Указывается в процентах.

        По умолчанию: "100%"

      • spec.cpu.cores
        целочисленный

        Обязательный параметр

        Количество ядер.

        Допустимые значения: 1 <= X

    • spec.disruptions
      объект

      Описании политики применения изменений, требующих перезагрузки ВМ.

      Изменение некоторых параметров конфигурации ВМ требуют перезагрузки ВМ для их применения. Данная политика позволяет задать поведения, как ВМ будет реагировать на такие изменения.

      По умолчанию: {"restartApprovalMode":"Manual"}

      • spec.disruptions.restartApprovalMode
        строка

        Режим одобрения для изменений, требующих перезагрузки ВМ:

        • Manual — изменения не будут применены, до тех пока пользователь самостоятельно не осуществит перезагрузку ВМ.
        • Автоматический — ВМ будет перезагружена, сразу, после сохранения параметров, требующих перезагрузки ВМ.

        Допустимые значения: Manual, Automatic

    • spec.enableParavirtualization
      булевый

      Использовать шину virtio для подключения виртуальных устройств ВМ. Установите значение false, чтобы отключить virtio для этой ВМ.

      Внимание: Для использования режима паравиртуализации некоторые ОС требуют установки соответствующих драйверов.

      По умолчанию: true

    • spec.memory
      объект

      Обязательный параметр

      Блок определяет настройки оперативной памяти для виртуальной машины.

      • spec.memory.size
        строка

        Обязательный параметр

        Объем оперативной памяти.

        Шаблон: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$

    • spec.nodeSelector
      объект

      По аналогии, как и в параметре pods spec.nodeSelector в Kubernetes.

    • spec.osType
      строка

      Параметр позволяет выбрать тип используемой ОС, для которой будет создана ВМ с оптимальным набором необходимых виртуальных устройств и параметров.

      • Windows — для ОС семейства Microsoft Windows.
      • Generic — для других типов ОС.

      По умолчанию: "Generic"

      Допустимые значения: Windows, Generic

    • spec.priorityClassName
      строка

      По аналогии, как и в параметре pods spec.priorityClassName в Kubernetes.

    • spec.provisioning
      объект

      Блок описания сценария начальной инициализации ВМ.

      • spec.provisioning.sysprepRef
        объект

        Ссылка на существующий ресурс со сценарием автоматизации Windows.

        Структура ресурса для типа SysprepRef:

        • .data.autounattend.xml
        • .data.unattend.xml
        • spec.provisioning.sysprepRef.kind
          строка

          Обязательный параметр

          Тип ресурса. Необходимо использовать секрет с типом - “provisioning.virtualization.deckhouse.io/sysprep”.

          По умолчанию: "Secret"

          Допустимые значения: Secret

        • spec.provisioning.sysprepRef.name
          строка

          Обязательный параметр

          Имя ресурса со сценарием автоматизации.

      • spec.provisioning.type
        строка

        Поддерживаемые параметры для использования сценария инициализации:

        • UserData — использовать сценарий cloud-init в секции .spec.provisioning.UserData.
        • UserDataRef — использовать сценарий cloud-init, который находится в другом ресурсе.
        • SysprepRef — использовать сценарий автоматизации установки Windows, который находится в другом ресурсе.

        Допустимые значения: UserData, UserDataRef, SysprepRef

      • spec.provisioning.userData
        строка

        Текст сценария cloud-init.

        Дополнительная информация: https://cloudinit.readthedocs.io/en/latest/reference/examples.html

      • spec.provisioning.userDataRef
        объект

        Ссылка на существующий ресурс со сценарием cloud-init.

        Структура ресурса для типа userDataRef:

        • .data.userData
        • spec.provisioning.userDataRef.kind
          строка

          Обязательный параметр

          Тип ресурса. Необходимо использовать секрет с типом - “provisioning.virtualization.deckhouse.io/cloud-init”.

          По умолчанию: "Secret"

          Допустимые значения: Secret

        • spec.provisioning.userDataRef.name
          строка

          Обязательный параметр

          Имя ресурса со сценарием cloud-init.

    • spec.runPolicy
      строка

      Этот параметр определяет политику запуска ВМ:

      • AlwaysOn — после создания ВМ всегда находится в работающем состоянии, даже в случае ее выключения средствами ОС.
      • AlwaysOff — после создания ВМ всегда находится в выключенном состоянии.
      • Manual — после создания ВМ выключается, состояние ВМ (включение/выключение) контролируется через API-сервисы или средствами ОС.
      • AlwaysOnUnlessStoppedManually — после создания ВМ всегда находится в работающем состоянии. ВМ можно выключить средствами ОС или воспользоваться утилитой d8: d8 v stop <vm_name>.

      По умолчанию: "AlwaysOnUnlessStoppedManually"

      Допустимые значения: AlwaysOn, AlwaysOff, Manual, AlwaysOnUnlessStoppedManually

    • spec.terminationGracePeriodSeconds
      целочисленный

      Период ожидания после подачи сигнала (SIGTERM) о прекращении работы ВМ, по истечении которого ВМ принудительно завершается.

      По умолчанию: 60

    • spec.tolerations
      массив объектов

      По аналогии, как и в параметре pods spec.tolerations в Kubernetes.

      • spec.tolerations.effect
        строка
      • spec.tolerations.key
        строка
      • spec.tolerations.operator
        строка
      • spec.tolerations.tolerationSeconds
        целочисленный
      • spec.tolerations.value
        строка
    • spec.topologySpreadConstraints
      массив объектов

      По аналогии, как и в параметре pods spec.topologySpreadConstraints в Kubernetes.

      • spec.topologySpreadConstraints.labelSelector
        объект
        • spec.topologySpreadConstraints.labelSelector.matchExpressions
          массив объектов
          • spec.topologySpreadConstraints.labelSelector.matchExpressions.key
            строка

            Обязательный параметр

          • spec.topologySpreadConstraints.labelSelector.matchExpressions.operator
            строка

            Обязательный параметр

          • spec.topologySpreadConstraints.labelSelector.matchExpressions.values
            массив строк
            • Элемент массива
              строка
        • spec.topologySpreadConstraints.labelSelector.matchLabels
          объект
      • spec.topologySpreadConstraints.maxSkew
        целочисленный

        Обязательный параметр

      • spec.topologySpreadConstraints.topologyKey
        строка

        Обязательный параметр

      • spec.topologySpreadConstraints.whenUnsatisfiable
        строка

        Обязательный параметр

    • spec.virtualMachineClassName
      строка

      Обязательный параметр

      Имя ресурса VirtualMachineClass, который описывает требования к виртуальному CPU, памяти и политику размещения ресурсов.

    • spec.virtualMachineIPAddressName
      строка

      Имя для связанного ресурса virtualMachineIPAddress.

      Указывается при необходимости использования ранее созданного IP-адреса ВМ.

      Если не указано явно, по умолчанию для ВМ создается ресурс virtualMachineIPAddress с именем аналогичным ресурсу ВМ (.metadata.name).