Для улучшения работы сайта мы используем файлы cookies. Оставаясь на сайте, вы соглашаетесь с политикой обработки персональных данных.

v1alpha6

Данный раздел содержит справочную информацию по спецификации API в Nova Container Platform.

1. infrastructure [config.nova-platform.io/v1alpha6]

Объект infrastructure содержит конфигурацию всех доступных параметров настройки кластера Nova Container Platform. Объект является единственным в кластере и имеет каноническое имя cluster.

Параметр Тип Обязательный Описание

apiVersion

String

Да

Имеет значение config.nova-platform.io/v1alpha6

kind

String

Да

Имеет значение Infrastructure

metadata

Kubernetes meta/v1.ObjectMeta

Да

Дополнительную информацию по параметру metadata в Kubernetes API можно найти в официальной документации.

spec

Да

Спецификация

2. Спецификация (infrastructure.spec)

Далее представлены параметры поля spec и их описания.

Параметр Тип Обязательный Условия валидации в nova-ctl Описание

customerID

String

Да

Идентификатор клиента для установки платформы. Поставляется вместе с лицензией на платформу.

licenseKey

String

  • Да, для IPI-установок.

  • Нет, для UPI-установок

Минимальная длина: 1 символ

Лицензионный ключ для установки платформы. Требуется только для онлайн-установки платформы.

version

String

Да

Должна начинаться с 'v'

Версия Nova Container Platform для установки.

clusterName

String

Нет

Минимальная длина: 1 символ

Название кластера Nova Container Platform.

coreServer

String

Нет

Должно быть доменное имя или IPv4 адрес.

Адрес сервиса настройки ПО Nova Container Platform.

Значение по умолчанию: sun.nova-platform.io.

При установке платформы в закрытом сетевом окружении используется адрес сервиса настройки ПО, запущенного в Nova Universe.

caTrustBundle

String

Нет

Блок конфигурации цепочки TLS-сертификатов, которым необходимо доверять внутри кластера Kubernetes. Передается в виде строки с данными, закодированными в base64.

bootstrap

Да

Если deploymentType: offline, то обязательно в bootstrap должны быть указаны параметры:

  • deploymentType

  • hubRegistryURL

  • hubToken

  • hubUsername

  • repoToken

  • repoURL

  • rpmRepoURL

Блок конфигурации, описывающий тип установки (онлайн или офлайн), а также параметры офлайн-репозиториев. По умолчанию выполняется онлайн-установка платформы.

infrastructureProvider

Да

Должен быть выбран один из провайдеров:

  • zvirt

  • vsphere

  • k2cloud

  • none

Иначе, ошибка

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

hostGroups

  • Да, для IPI-установок.

  • Нет, для UPI-установок

Данный функционал будет реализован через Node Config Operator

Блок конфигурации групп узлов платформы. В nova-ctl не используется.

clusterNodes

Да

Проверка узлов на количество:

  • для мастер-узлов: допустимы только 1 или 3 узла в состоянии present.

  • любая другая группа, кроме ingress: должен быть хотя бы один узел в состоянии present.

  • для ingress-узлов: проверка количества узлов не выполняется, данный тип узлов может отсутствовать

Проверка узлов на уникальность в пределах группы:

  • Выполняется проверка, что внутри каждой группы узлов (clusterNodes.<group>) нет дублирующихся IP-адресов и нет дублирующих hostname

Проверка узлов на пересечения ip-адресов между группами:

  • master-узлы могут иметь уникальные ip-адреса и hostname, и эти адреса не должны быть в других группах.

  • для infra-узлов нельзя использовать IP и hostname, принадлежащие мастер-узлам.

  • для всех остальных групп (worker, ingress) нельзя использовать ip-адреса и hostname из master, infra.

Проверка узлов на корректность конфигурации узла:

  • один IP-адрес должен описывать один конкретный узел во всем кластере. Если ip-адрес и hostname указан в другой конфигурации, то будет ошибка.

Блок конфигурации узлов кластера Kubernetes.

clusterConfiguration

Да

Блок конфигурации параметров кластера Kubernetes.

2.1. spec.bootstrap

(Используется в: spec)

Объект bootstrap определяет конфигурацию метода установки платформы Nova Container Platform.

Параметр Тип Обязательный Условия валидации в nova-ctl Описание

deploymentType

String

Нет

Допустимые значения: online, offline. По умолчанию, используется значение online.

Метод развертывания платформы Nova Container Platform.

hubRegistryURL

String

  • Да, при deploymentType: offline

  • Нет, при deploymentType: online

Адрес хранилища образов контейнеров. Используется для переопределения адреса хранилища образов при офлайн-установке платформы.

Значение по умолчанию: hub.nova-platform.io/registry

hubToken

String

  • Да, при deploymentType: offline

  • Нет, при deploymentType: online

Токен (либо пароль) для доступа к хранилищу образов контейнеров.

hubUsername

String

  • Да, при deploymentType: offline

  • Нет, при deploymentType: online

Имя учетной записи для доступа к хранилищу образов контейнеров.

repoToken

String

  • Да, при deploymentType: offline

  • Нет, при deploymentType: online

Токен для доступа к Git-репозиторию для установки модулей платформы.

repoURL

String

  • Да, при deploymentType: offline

  • Нет, при deploymentType: online

Адрес Git-репозитория с конфигурациями модулей платформы. Используется для переопределения адреса Git-репозитория при офлайн-установке платформы.

Значение по умолчанию: https://code.nova-platform.io/releases/modules/base.git

rpmRepoURL

String

Да, при deploymentType: offline

HTTP URL репозитория пакетов, необходимых для установки платформы. Используется для переопределения репозитория при офлайн-установке платформы.

Значение по умолчанию: https://storage.cloud.croc.ru/downloads-nova-platform-io

2.2. spec.clusterConfiguration

(Используется в: spec)

Блок конфигурации параметров кластера Kubernetes платформы Nova Container Platform.

Параметр Тип Обязательно Условия валидации в nova-ctl Описание

k8sDefaultDnsZone

String

Да

Корневой домен кластера. Значение по умолчанию cluster.local

k8sAPIDefaultFqdn

String

Нет

FQDN для доступа к Kubernetes API.

При наличии данного параметра, в ходе установки(развертывания) будет предпринята попытка разрешения данного имени. При успешной попытке, дальнейшая проверка состояния API будет осуществляться по FQDN, при неудачной попытке разрешить имя, проверка API будет производиться с использованием IP-адреса 1го мастер-узла.

cniProvider

String

Нет

Enum, возможные значения:

  • calico

  • cilium

При отличном значении, ошибка валидации.

Сетевой плагин кластера Kubernetes.

dnsBaseDomain

String

Да

Базовый DNS-домен для настройки и публикации служебных веб-сервисов через Ingress-контроллер.

extraOptions

Да

Блок конфигурации дополнительных параметров кластера Kubernetes платформы Nova Container Platform.

2.2.1. spec.clusterConfiguration.extraOptions

(Используется в: spec.clusterConfiguration)

Блок конфигурации дополнительных параметров кластера Kubernetes платформы Nova Container Platform.

Параметр Тип Обязательный Условия валидации в nova-ctl Описание

kubePodSubnet

String

Да

Должно соответствовать:

  • IP-адрес/маска_подсети в форматеx.x.x.x/y, где:

    • x = число от 0 до 255

    • y = число от 0 до 32

Иначе, ошибка

Блок IP-адресов, из которого выделяются IP-адреса для подов Kubernetes (Pod). Возможно указать только один пул IP-адресов. Этот блок не должен пересекаться с существующими физическими сетями. Данные IP-адреса используются для сети подов (Pod Network).

Значение по умолчанию: 10.233.64.0/18.

kubeServiceAddresses

String

Да

Должно соответствовать:

  • IP-адрес/маска_подсети в форматеx.x.x.x/y, где:

    • x = число от 0 до 255

    • y = число от 0 до 32

Иначе, ошибка

Блок IP-адресов для сервисной сети Kubernetes (Service Network). Возможно указать только один блок IP-адресов. Этот блок не должен пересекаться с существующими физическими сетями.

Значение по умолчанию: 10.233.0.0/18.

kubeNetworkNodePrefix

Int

Нет

Префикс сети kubePodSubnet, выделяемый каждому узлу кластера Kubernetes.

Значение по умолчанию: 24.

k8sAPIAdditionalSANs

[]

Нет

Должно соответствовать:

  • IPv4Address (например, "192.168.1.1")

  • Либо AnyHttpUrl ( (например, "example.com")

Иначе, ошибка

Список дополнительных DNS-имен и IP-адресов (Subject Alternative Name) Kubernetes API, который добавляется в поле subjectAltName TLS-сертификата.

dns

Нет

Блок конфигурации параметров DNS.

ingressTLSConfig

Нет

Конфигурация PKI для выпуска TLS-сертификатов Ingress-ресурсов.

По умолчанию используется самоподписанный внутренний СА.

2.2.1.1. spec.clusterConfiguration.extraOptions.extraOptions.dns

(Используется в: spec.clusterConfiguration.extraOptions)

Блок конфигурации параметров DNS.

Параметр Тип Обязательный Условия валидации Описание

customerDns

Object

Нет

Параметры пользовательской службы DNS

customerDns.enable

Boolean

Да

Включение/выключение клиентского dns сервера.

customerDns.servers

Array of strings

Да

Должно соответствовать:

  • IPv4Address (например, "192.168.1.1")

Список клиентских dns серверов, которые будут использоваться в кластере

forwardZones

Array of Object

Да

Делегированные dns зоны

forwardZones.zones

Object

Да

Конфигурация делегированной dns зоны

forwardZones.zones.name

String

Да

DNS-имя зоны

forwardZones.zones.server

String

Да

Должно соответствовать IPv4Address (например, "192.168.1.1")

Авторитетный сервер DNS-зоны.

2.2.1.2. spec.clusterConfiguration.extraOptions.ingressTLSConfig

(Используется в: spec.clusterConfiguration.extraOptions)

Блок конфигурации PKI для выпуска TLS-сертификатов Ingress-ресурсов в Nova Container Platform.

Параметр Тип Обязательно Условия валидации в nova-ctl Описание

internalCA

Object

Нет

Должно быть задано одно из двух полей:

  • internalCA

  • externalCA

Иначе, ошибка

Конфигурация службы PKI для выпуска и обслуживания TLS-сертификатов с использованием внутреннего самоподписанного СА. Опции конфигурации не предусмотрены.

Значение по умолчанию:
{}.

externalCA

Object

Нет

Должно быть задано одно из двух полей:

  • internalCA

  • externalCA

Иначе, ошибка

Конфигурация службы PKI для выпуска и обслуживания TLS-сертификатов с использованием собственного СА-сертификата.

externalCA.tlsConfig

Object

Да, если есть externalCA

Конфигурация цепочки TLS-сертификатов и приватного ключа при использовании внешнего центра сертификации.

externalCA.tlsConfig.ca

String

Да, если есть externalCA

Должен удовлетворять:

  • tlsConfig.cert подписан данным tlsConfig.ca

  • оба содержат расширение Basic Constraints, CA=True, pathlen=0

Иначе, ошибка

Корневой СА-сертификат. Передается в виде строки с данными, закодированными в base64.

externalCA.tlsConfig.cert

String

Да, если есть externalCA

Должен удовлетворять:

  • Не истек срок

  • Срок действия ≥ 2 года от текущей даты

Иначе, ошибка

Промежуточный СА-сертификат, который выписан корневым. Передается в виде строки с данными, закодированными в base64.

externalCA.tlsConfig.key

String

Да, если есть externalCA

Должен удовлетворять:

  • Приватный ключ в формате PEM

  • Зашифрован

Иначе, ошибка

Приватный ключ для промежуточного СА-сертификата. Приватный ключ должен быть зашифрован. Передается в виде строки с данными, закодированными в base64.

2.3. spec.clusterNodes

(Используется в: spec)

Блок конфигурации узлов кластера Kubernetes платформы Nova Container Platform. Используется для определения роли узла в кластере Kubernetes, имен и параметров сетевых интерфейсов узлов, настроек DNS, а также для привязки узла кластера к какой-либо определенной группе узлов.

Параметр Тип Обязательно Условия валидации в nova-ctl Описание

master

Да

Допустимы только 1 или 3 узла в состоянии present.

Определяет набор и параметры мастер-узлов Kubernetes.

infra

Да

Допустимое количество инфраструктурных узлов и, соответственно, спецификаций ClusterNodeReference составляет от 1 и более в состоянии present.

Определяет набор и параметры инфраструктурных узлов Kubernetes.

worker

Да

Допустимое количество worker узлов и, соответственно, спецификаций ClusterNodeReference составляет от 1 и более в состоянии present.

Определяет набор и параметры рабочих узлов Kubernetes.

ingress

Нет

Проверка количества узлов не выполняется, узлов данного типа может не быть.

Определяет набор и параметры рабочих узлов Kubernetes для балансировки входящих запросов.

2.3.1. ClusterNodeReference

(Используется в: ClusterNodes)

В блоке ClusterNodesReference указываются такие параметры узлов, как группа узлов, настройки сетевых интерфейсов, системы разрешения имен DNS, а также желаемое состояние узла в кластере Kubernetes.

Параметр Тип Обязательно Условия валидации в nova-ctl Описание

hostgroup

String

Нет

Определяет группу узлов, к которой относится узел кластера Kubernetes.

state

String

Да

Enum, возможные значения:

  • Present. При установке значения present узел будет добавлен в кластер Kubernetes.

  • Absent. При установке значения absent узел будет удален из кластера Kubernetes.

При отличном значении, ошибка валидации.

Желаемое состояние узла в кластере Kubernetes.

networkSpec

Да

Сетевые параметры узла кластера Kubernetes.

networkSpec.ip

String

  • Провайдеры k2cloud, zVirt: по умолчанию IP автоматически назначается через DHCP (не заполнять параметр) или возможно ручное присвоение (заполнять).

  • Другие провайдеры: обязателен, только ручное присвоение IP.

Должно соответствовать:

  • IPv4Address (например, "192.168.1.1")

Иначе, ошибка

Ipv4 адрес узла.

networkSpec.hostname

String

Да

Полное имя узла (FQDN). Имя узла в кластере должно быть уникальным.

networkSpec.gateway

String

Нет, не указвается при установке в k2cloud, для остальных провайдеров указывается

Ipv4 адрес шлюза по умолчанию. Указывается только при развертывании кластера методом IPI.

networkSpec.netmask

String

Нет, не указвается при установке в k2cloud, для остальных провайдеров указывается

Маска подсети. Указывается только при развертывании кластера методом IPI.

networkSpec.dns

Array of string

Нет, не указвается при установке в k2cloud, для остальных провайдеров указывается

Список DNS серверов. Указывается только при развертывании кластера методом IPI.

2.3.2. HostGroupReference

(Используется в: spec)

В блоке HostGroupReference указываются параметры узлов в контексте кластера Kubernetes в формате "ключ-значение".

Параметр Тип Обязательно Описание

name

String

Нет

Имя группы узлов.

additionalLabels [1]


1. Данный функционал в настоящее время находится в активной разработке.

Нет

Список дополнительных меток Labels для узлов кластера Kubernetes.

additionalAnnotations [2]


2. Данный функционал в настоящее время находится в активной разработке.

Нет

Список дополнительных аннотаций Annotations для узлов кластера Kubernetes.

additionalTaints [3]


3. Данный функционал в настоящее время находится в активной разработке.

Нет

Список дополнительных меток Taints для узлов кластера Kubernetes.

2.4. spec.infrastructureProvider

(Используется в: spec)

Блок spec.infrastructureProvider определяет параметры установки платформы Nova Container Platform при использовании провайдера инфраструктуры.

Параметр Тип Обязательно Условия валидации в nova-ctl Описание

none

map[]

Да

В объекте clusterNodes должны отсутствовать поля:

  • networkSpec.gateway

  • networkSpec.netmask

  • networkSpec.dns

Иначе, ошибка

Метод развертывания платформы Nova Container Platform без взаимодействия с провайдером инфраструктуры. Для использования данного метода установки необходимо оставить пустое значение параметра none, например none: {}.

vsphere

Да

Условия валидации приведены для каждого поля данного объекта ниже

Метод развертывания платформы Nova Container Platform в среде виртуализации VMware vSphere.

zvirt

Да

Условия валидации приведены для каждого поля данного объекта ниже

Метод развертывания платформы Nova Container Platform в среде виртуализации zVirt.

k2cloud

K2Cloud

Да

Условия валидации приведены для каждого поля данного объекта ниже

Метод развертывания платформы Nova Container Platform в среде k2cloud.

2.4.1. spec.infrastructureProvider.vsphere

(Используется в: spec.infrastructureProvider)

Блок vsphere определяет параметры установки платформы Nova Container Platform в среде виртуализации VMware vSphere.

Параметр Тип Обязательно Условия валидации в nova-ctl Описание

auth

Да

Блок конфигурации параметров учетной записи и подключения к управляющему узлу платформы vSphere.

cluster

String

Да

Имя кластера vSphere.

datacenter

String

Да

Имя датацентра vSphere.

template

String

Нет

Если не задано, то определяется на уровне vsphere.hostGroup.template. Если нигде не задано, то ошибка

Имя шаблона ВМ для развертывания виртуальных машин. Может быть переопределен на уровне группы узлов, в случае если для групп узлов предполагается использовать разные шаблоны ВМ.

datastore

String

Нет

Если не задано, то определяется на уровне vsphere.hostGroup.datastore. Если нигде не задано, то ошибка

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

useLinkedClone

Boolean

Да

Использовать ли Linked Clone при создании ВМ. При значении true размер диска ВМ будет установлен равным размеру диска в шаблоне.

Значение по умолчанию: false

vmFolder

String

Нет

Имя папки, где будут размещены все созданные ВМ. Внутри данной папки будет создана подпапка с названием nova-<ClusterID>. Если параметр не указывается, то в корневой директории будет создана папка с названием nova-<ClusterID>.

Значение по умолчанию: <vsphere.datacenter.id>/vm/nova-<ClusterID>

network

String

Нет

Если не задано, то определяется глобально на уровне vsphere.network. Если нигде не задано, то ошибка

Имя сети, в которой будут разворачиваться ВМ.

hostGroup

Да

Конфигурация параметров среды vSphere для групп узлов.

2.4.1.1. spec.infrastructureProvider.vsphere.auth

(Используется в: spec.infrastructureProvider.vsphere)

Блок vsphere.auth определяет параметры учетной записи и подключения к управляющему узлу VMware vCenter Server.

Параметр Тип Обязательно Описание

vcenterServer

String

Да

Полное доменное имя или IP-адрес сервера vCenter Server.

vcenterServerPort

Int

Нет

Порт для подключения к vCenter Server.

Значение по умолчанию: 443

tlsCaBundle

String

Да

Цепочка корневых TLS-сертификатов для подключения к API-интерфейсу vCenter Server. Передается в виде строки с данными, закодированными в base64.

username

String

Да

Учетная запись для доступа к vCenter Server.

password

String

Да

Пароль учетной записи для доступа к vCenter Server.

2.4.1.2. spec.infrastructureProvider.vsphere.hostGroup

(Используется в: spec.infrastructureProvider.vsphere)

В блоке vsphere.hostGroup списком перечисляются словари с группами узлов и их параметрами в контексте платформы vSphere в формате "ключ-значение".

Параметр Тип Обязательно Условия валидации в nova-ctl Описание

name

String

Да

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

template

String

Нет

Если не задано, то определяется глобально на уровне vsphere.template. Если нигде не задано, то ошибка

Имя шаблона ВМ для развертывания виртуальных машин данной группы.

network

String

Нет

Если не задано, то определяется глобально на уровне vsphere.network. Если нигде не задано, то ошибка

Имя сети, в которой будут разворачиваться ВМ данной группы.

datastore

String

Нет

Если не задано, то определяется глобально на уровне vsphere.datastore. Если нигде не задано, то ошибка

Имя хранилища для ВМ данной группы.

cpuSockets

String

Нет

Количество сокетов CPU, выделяемых каждой ВМ в группе узлов в среде vSphere.

cpuCores

String

Да

Количество ядер CPU, выделяемых каждой ВМ в группе узлов в среде vsphere.

memory

String

Да

Количество ОЗУ, выделяемой каждой ВМ в группе узлов в среде vsphere.

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

xB, xKB, xMB, xGB, xTB, xPB, xKiB, xMiB, xGiB, xTiB, xPiB, где x - целочисленное значение. Например, 16 гибибайт указывается как16GiB, а 16 гигабайт - как 16GB.

diskSize

String

Да

Размер диска, выделяемого каждой ВМ в группе узлов в среде vSphere.

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

xB, xKB, xMB, xGB, xTB, xPB, xKiB, xMiB, xGiB, xTiB, xPiB, где x - целочисленное значение. Например, 16 гибибайт указывается как16GiB, а 16 гигабайт - как 16GB.

diskThinProvisioned

String

Нет

Enum, возможные значения:

  • inherit

  • false

При отличном значении, ошибка валидации.

Использовать ли тип Thin Provisioned для создаваемого диска.

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

При использовании значения inherit тип диска наследуется из шаблона ВМ. При использовании параметра false тип диска устанавливается как Thick Provisioned Lazy Zeroed.

Значение по умолчанию: inherit

diskEagerlyScrub

Boolean

Нет

Использовать тип Thick Provisioned Eager Zeroed для создаваемого диска.

Значение true можно установить только в случае, когда параметр diskThinProvisioned имеет значение false.

Значение по умолчанию: false

2.4.2. spec.infrastructureProvider.zvirt

(Используется в: spec.infrastructureProvider)

Блок zvirt определяет параметры установки платформы Nova Container Platform в среде виртуализации zVirt.

Параметр Тип Обязательно Условия валидации в nova-ctl Описание

auth

Да

Блок конфигурации параметров учетной записи и подключения к управляющему узлу платформы виртуализации zVirt.

clusterId

String

Да

Идентификатор кластера zVirt.

templateId

String

Нет

Глобальный идентификатор шаблона ВМ для развертывания виртуальных машин. Может быть переопределен на уровне группы узлов, в случае если для групп узлов предполагается использовать разные шаблоны ВМ.

csiStorageDomainName

String

Нет

Имя домена хранения среды zVirt, который используется CSI-драйвером кластера Kubernetes.

vnicProfileId

String

Нет

Идентификатор профиля виртуального сетевого интерфейса (vNIC Profile) в среде zVirt. Может быть переопределен для уровне группы узлов, в случае если для групп узлов предполагается использовать разные профили виртуальных сетевых интерфейсов.

hostGroup

Да

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

  • templateId

  • vnicProfileId

  • cpuCores

  • cpuSockets

  • cpuThreads

  • memory

  • maximumMemory

  • guaranteedMemory

  • memoryBallooning

Валидация не пройдет, если в общей спецификации не указаны ни templateId, ни vnicProfileId.

Конфигурация параметров среды zVirt для групп узлов.

useLinkedClone

Boolean

Нет

При значении true ВМ клонируется из шаблона и не связывается с ним. В результате будет создана ВМ с клонированным диском.

2.4.2.1. spec.infrastructureProvider.zvirt.auth

(Используется в: spec.infrastructureProvider.zvirt)

Блок zvirt.auth определяет параметры учетной записи и подключения к управляющему узлу платформы виртуализации zVirt.

Параметр Тип Обязательно Условия валидации в nova-ctl Описание

apiUrl

String

Да

HTTP URL для доступа к zVirt API.

username

String

Да

Должно соответствовать регулярному выражению: @[A-Za-z0-9_-] Пример:hw-robot@internalsso

Учетная запись для доступа к zVirt API.

password

String

Да

Пароль учетной записи для доступа к zVirt API.

tlsCaBundle

String

Нет

Цепочка корневых TLS-сертификатов для подключения к интерфейсу zVirt API. Передается в виде строки с данными, закодированными в base64.

2.4.2.2. spec.infrastructureProvider.zvirt.hostGroup

(Используется в: spec.infrastructureProvider.zvirt)

В блоке zvirt.hostGroup списком перечисляются словари с группами узлов и их параметрами в контексте платформы zVirt в формате "ключ-значение".

Параметр Тип Обязательно Описание

name

String

Да

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

templateId

String

Нет

Идентификатор шаблона ВМ для развертывания виртуальной машины.

vnicProfileId

String

Нет

Идентификатор профиля виртуального сетевого интерфейса (vNIC Profile) в среде zVirt.

cpuCores

String

Да

Количество ядер CPU, выделяемых каждой ВМ в группе узлов в среде zVirt.

cpuSockets

String

Да

Количество сокетов CPU, выделяемых каждой ВМ в группе узлов в среде zVirt.

cpuThreads

String

Да

Количество потоков CPU на одно ядро из cpuCores, выделяемых каждой ВМ в группе узлов в среде zVirt.

memory

String

Нет

Количество ОЗУ, выделяемой каждой ВМ в группе узлов в среде zVirt.

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

xB, xKB, xMB, xGB, xTB, xPB, xKiB, xMiB, xGiB, xTiB, xPiB, где x - целочисленное значение. Например, 16 гибибайт ОЗУ указывается как16GiB, а 16 гигабайт - как 16GB.

maximumMemory

String

Нет

Максимальный объем ОЗУ, выделяемой каждой ВМ в группе узлов в среде zVirt, до порога которого доступен функционал Memory Hot-plug. В случае, если функционал Memory Hot-plug не требуется, то параметр maximumMemory можно указать равным параметру memory.

memoryBallooning

Boolean

Нет

Механизм динамического перераспределения оперативной памяти между виртуальными машинами

guaranteedMemory

String

Нет

Фиксированный объем оперативной памяти, гарантированно выделяемый виртуальной машине без возможности изъятия гипервизором

2.4.3. spec.infrastructureProvider.k2cloud

(Используется в: spec.infrastructureProvider)

Метод K2Cloud определяет параметры установки платформы Nova Container Platform в среде виртуализации в K2Cloud.

Параметр Тип Обязательно Условия валидации в nova-ctl Описание

auth

k2cloud.auth

Да

Блок конфигурации эндопинтов для взаимодействия с K2Cloud

publicKeyName

String

Да

Публичный ssh ключ

templateId

String

Нет, если указан на уровне каждого infrastructure.spec.infrastructureProvider.k2cloud.hostGroup.templateId

Если не задано, то определяется на уровне k2cloud.hostGroup.templateId. Если нигде не задано, то ошибка

Идентификатор шаблона ВМ для развертывания виртуальных машин. Может быть переопределен на уровне группы узлов, в случае если для групп узлов предполагается использовать разные шаблоны ВМ.

hostGroup

Array of object k2cloud.hostGroup

Да

Конфигурация параметров среды K2Cloud для групп узлов.

2.4.3.1. spec.infrastructureProvider.k2cloud.auth

Блок k2cloud.auth определяет параметры учетной записи и подключения к сервисам k2cloud.

Параметр Тип Обязательно Условия валидации в nova-ctl Описание

serviceEndpoints

Array of object

Да

Должен включать serviceEndpoint с name="ec2". Иначе, ошибка

Подключение к сервисам k2cloud

spec.infrastructureProvider.k2cloud.auth.serviceEndpoints

Данный объект отвечает за параметры подключения к сервисам.

Должен включать serviceEndpoint с name="ec2", иначе, ошибка.

Параметр Тип Обязательно Описание

name

String

Да

Название сервиса

url

String

Да

Точка подключения

2.4.3.2. spec.infrastructureProvider.k2cloud.hostGroup

В таблице ниже указано описание параметров и настроек группы узлов:

Параметр Тип Обязательно Условия валидации в nova-ctl Описание

name

String

Да

Имя группы узлов. Должно быть указано имя группы узлов, которая определена в блоке конфигурации HostGroupReference).

type

String

Да

Тип инстанса ВМ

subnetID

String

Да

Подсеть инстанса

rootVolume

Object

Да

Конфигурация диска ВМ

securityGroupIDs

Array of string

Да

Список существующих групп безопасности для интерфейсов ВМ

placementGroup

String

Нет

Группа размещения

templateId

String

Нет, если не указан на уровне Infrastructure.spec.InfrastructureProvider.k2cloud.templateId, то обязателен к заполнению.

Если не задано, то определяется глобально на уровне k2cloud.template. Если нигде не задано, то ошибка

Идентификатор шаблона ВМ для развертывания виртуальных машин.

2.4.3.3. spec.infrastructureProvider.k2cloud.hostGroup.rootVolume

Описание объекта представлено в таблице ниже:

Параметр Тип Обязательно Условия валидации в nova-ctl Описание

iops

Int

Нет

Для type 'io2' поле должно быть заполнено:

  • допустимые значения размера диска соответствует 50 IOPS * rootVolume.size и выше

Иначе, ошибка

Количество операций ввода/вывода

size

String

Да

Допустимые значения: xG - целочисленное значение:

  • диск должен быть кратен 8 Гб

  • диск не менее менее 8 Гб

Иначе, ошибка

Размер диска, выделяемого каждой ВМ в группе узлов в среде K2Cloud.

type

String

Да

Enum, возможные значения:

  • io2

  • gp2

Иначе, ошибка

Тип диска