Перейти к содержанию

Infrastructure [config.nova-platform.io/v1alpha1]

Описание

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

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

Параметр
Значение
Описание
apiVersion
String
config.nova-platform.io/v1alpha1
kind
String
Infrastructure
metadata
Kubernetes meta/v1.ObjectMeta
Дополнительную информацию по параметру metadata в Kubernetes API можно найти в официальной документации.
spec
InfrastructureSpec
customerID
String
Идентификатор клиента для установки платформы. Поставляется вместе с лицензией на платформу.
licenseKey
String
(Опционально)
Лицензионный ключ для установки платформы. Требуется только для онлайн-установки платформы.
version
String
Версия Nova Container Platform для установки.
coreServer
String
(Опционально)
Адрес сервиса настройки ПО Nova Container Platform.

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

При установке платформы в закрытом сетевом окружении используется адрес сервиса настройки ПО, запущенного в Nova Universe.
bootstrap
Bootstrap
(Опционально)
Блок конфигурации, описывающий тип установки (онлайн или офлайн), а также параметры офлайн-репозиториев. По умолчанию выполняется онлайн-установка платформы.
infrastructureProvider
InfrastructureProvider
Блок конфигурации параметров поставщика инфраструктуры для установки платформы.
caTrustBundle
String
(Опционально)
Блок конфигурации цепочки TLS-сертификатов, которым необходимо доверять внутри кластера Kubernetes. Передается в виде строки с данными, закодированными в base64.
hostGroups
[]HostGroupReference
Блок конфигурации групп узлов платформы.
clusterNodes
ClusterNodes
Блок конфигурации узлов кластера Kubernetes.
clusterConfiguration
clusterConfiguration
(Опционально)
Блок конфигурации параметров кластера Kubernetes.
modules
Modules
Блок конфигурации базовых и дополнительных модулей платформы.

InfrastructureSpec

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

InfrastructureSpec определяет желаемую конфигурацию компонентов платформы Nova Container Platform.

Параметр
Описание
customerID
String
Идентификатор клиента для установки платформы. Поставляется вместе с лицензией на платформу.
licenseKey
String
(Опционально)
Лицензионный ключ для установки платформы. Требуется только для онлайн-установки платформы.
version
String
Версия Nova Container Platform для установки.
coreServer
String
(Опционально)
Адрес сервиса настройки ПО Nova Container Platform.

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

При установке платформы в закрытом сетевом окружении используется адрес сервиса настройки ПО, запущенного в Nova Universe.
bootstrap
Bootstrap
Блок конфигурации, описывающий метод установки (онлайн или офлайн), а также параметры офлайн-репозиториев.
infrastructureProvider
InfrastructureProvider
Блок конфигурации параметров поставщика инфраструктуры для установки платформы.
caTrustBundle
String
(Опционально)
Цепочка корневых TLS-сертификатов, которым необходимо доверять внутри кластера Kubernetes. Передается в виде строки с данными, закодированными в base64.
hostGroups
[]HostGroupReference
(Опционально)
Блок конфигурации групп узлов платформы.
clusterConfiguration
clusterConfiguration
(Опционально)
Блок конфигурации параметров кластера Kubernetes.
clusterNodes
ClusterNodes
Блок конфигурации узлов кластера Kubernetes.
modules
Modules
Блок конфигурации базовых и дополнительных модулей платформы.

Bootstrap

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

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

Параметр
Описание
deploymentType
String
(Опционально)
Метод развертывания платформы Nova Container Platform.

Допустимые значения: online, offline.
По умолчанию, используется значение online.
hubHelmURL
String
(Опционально)
HTTP URL репозитория Helm-чартов. Используется для переопределения адреса репозитория Helm-чартов при офлайн-установке платформы.

Значение по умолчанию: https://hub.nova-platform.io/chartrepo/registry
hubRegistryURL
String
(Опционально)
Адрес хранилища образов контейнеров. Используется для переопределения адреса хранилища образов при офлайн-установке платформы.

Значение по умолчанию: hub.nova-platform.io/registry
hubToken
String
(Опционально)
Токен (либо пароль) для доступа к хранилищу образов контейнеров и репозиторию Helm-чартов.
hubUsername
String
(Опционально)
Имя учетной записи для доступа к хранилищу образов контейнеров и репозиторию Helm-чартов.
repoToken
String
(Опционально)
Токен для доступа к Git-репозиторию для установки модулей платформы.
repoURL
String
(Опционально)
Адрес Git-репозитория с конфигурациями модулей платформы. Используется для переопределения адреса Git-репозитория при офлайн-установке платформы.

Значение по умолчанию: https://code.nova-platform.io/releases/modules/base.git
rpmRepoURL
String
(Опционально)
HTTP URL репозитория пакетов, необходимых для установки платформы. Используется для переопределения репозитория при офлайн-установке платформы.

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

ClusterExtraOptions

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

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

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

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

Значение по умолчанию: 10.233.0.0/18.
kubeNetworkNodePrefix
Int
(Опционально)
Префикс сети kubePodSubnet, выделяемый каждому узлу кластера Kubernetes.

Значение по умолчанию: 24.
k8sAPIAdditionalSANs
[]
(Опционально)
Список дополнительных DNS-имен и IP-адресов (Subject Alternative Name) Kubernetes API, который добавляется в поле subjectAltName TLS-сертификата.
dns
ClusterExtraOptionsDNS
(Опционально)
Блок конфигурации параметров DNS.

ClusterExtraOptionsCustomerDNS

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

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

Параметр
Описание
enable
Boolean
(Опционально)
Определяет необходимость использования блока конфигурации пользовательской службы DNS на этапе развертывания кластера Kubernetes.

Допустимые значения:
true,false.
servers
[]
(Опционально)
Список пользовательских DNS-серверов, в которые будут по умолчанию направляться все запросы.
forwardZones
[]CustomerDNSForwardZone
(Опционально)
Список пользовательских DNS-зон и их авторитетных DNS-серверов, которые обслуживаются сервисом CoreDNS в кластере Kubernetes.

ClusterExtraOptionsDNS

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

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

Параметр
Описание
customerDns
ClusterExtraOptionsCustomerDNS
(Опционально)
Параметры пользовательской службы DNS.

ClusterConfiguration

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

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

Параметр
Описание
k8sDefaultDnsZone
String
(Опционально)
Корневой DNS-домен кластера Kubernetes.

Значение по умолчанию:
cluster.local
k8sAPIDefaultFqdn
String
DNS-имя по умолчанию, используемое для доступа к серверу Kubernetes API.
cniProvider
String
(Опционально)
Сетевой плагин кластера Kubernetes.

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

Значение по умолчанию:
cilium
extraOptions
ClusterExtraOptions

ClusterNodes

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

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

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

Допустимое количество мастер-узлов и, соответственно, спецификаций ClusterNodeReference составляет 1 либо 3.
infra
[]ClusterNodeReference
Определяет набор и параметры инфраструктурных узлов Kubernetes.

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

Допустимое количество инфраструктурных узлов и, соответственно, спецификаций ClusterNodeReference составляет от 1 и более.
ingress
[]ClusterNodeReference
(Опционально)
Определяет набор и параметры рабочих узлов Kubernetes для балансировки входящих запросов.

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

ClusterNodeReference

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

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

Параметр
Описание
networkSpec
NetworkSpec
Сетевые параметры узла кластера Kubernetes.
hostgroup
String
(Опционально)
Определяет группу узлов, к которой относится узел кластера Kubernetes.

Если имя группы узлов указано, то к данному узлу также применятся настройки, указанные в спецификации HostGroupReference1 .
state
String
Желаемое состояние узла в кластере Kubernetes.

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

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

CustomerDNSForwardZone

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

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

Параметр
Описание
name
String
(Опционально)
DNS-имя зоны.
server
String
(Опционально)
Авторитетный сервер DNS-зоны.

HostGroupReference

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

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

Параметр
Описание
name
String
(Опционально)
Имя группы узлов.
additionalLabels1
[]LabelsReference
(Опционально)
Список дополнительных меток Labels для узлов кластера Kubernetes.
additionalAnnotations1
[]AnnotationsReference
(Опционально)
Список дополнительных аннотаций Annotations для узлов кластера Kubernetes.
additionalTaints1
[]TaintsReference
(Опционально)
Список дополнительных меток Taints для узлов кластера Kubernetes.

Modules

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

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

Параметр
Описание
base
baseModule
Параметры базового модуля ПО платформы Nova Container Platform.

BaseModule

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

Блок конфигурации базового модуля ПО платформы Nova Container Platform.

Параметр
Описание
common
BaseModuleCommonReference
Общие параметры базового модуля ПО платформы Nova Container Platform.

BaseModuleCommonReference

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

Блок конфигурации общих параметров базового модуля ПО платформы Nova Container Platform.

Параметр
Описание
dnsBaseDomain
String
Базовый DNS-домен для настройки и публикации служебных веб-сервисов через Ingress-контроллер.
ingressTLSConfig
BaseModuleIngressTLSConfig
Конфигурация служб PKI для выпуска и обслуживания TLS-сертификатов Nova Container Platform.

BaseModuleIngressTLSConfig

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

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

Параметр
Описание
internalCA
BaseModuleInternalCA
Определяет параметры внутренних служб PKI для выпуска и обслуживания TLS-сертификатов Nova Container Platform.

BaseModuleInternalCA

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

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

Параметр
Описание
enabled
Boolean
Определяет, требуется ли настраивать и использовать внутренние службы PKI для выпуска и обслуживания TLS-сертификатов Nova Container Platform.

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

NetworkSpec

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

В блоке NetworkSpec указываются сетевые параметры узла кластера Kubernetes. При развертывании кластеров методом IPI данные настройки применяются автоматически в ОС узлов, используя функционал поставщика инфраструктуры.

Параметр
Описание
ip
String
IPv4-адрес узла кластера Kubernetes.
netmask
String
Маска подсети.
Указывается только при развертывании кластера методом IPI.
gateway
String
Маска подсети.
Указывается только при развертывании кластера методом IPI.
dns
[]String
Список устанавливаемых DNS-серверов.
Указывается только при развертывании кластера методом IPI.

ZVirtHostGroupReference

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

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

Параметр
Описание
name
String
Имя группы узлов. Должно быть указано имя группы узлов, которая определена в блоке конфигурации hostGroups.
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.

InfrastructureProvider

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

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

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

ZVirt

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

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

Параметр
Описание
auth
ZVirtAuth
Блок конфигурации параметров учетной записи и подключения к управляющему узлу платформы виртуализации zVirt.
clusterId
String
Идентификатор кластера zVirt.
templateId
String
Глобальный идентификатор шаблона ВМ для развертывания виртуальных машин. Может быть переопределен на уровне группы узлов, в случае если для групп узлов предполагается использовать разные шаблоны ВМ.
csiStorageDomainName
String
Имя домена хранения среды zVirt, который используется CSI-драйвером кластера Kubernetes.
vnicProfileId
String
Идентификатор профиля виртуального сетевого интерфейса (vNIC Profile) в среде zVirt. Может быть переопределен для уровне группы узлов, в случае если для групп узлов предполагается использовать разные профили виртуальных сетевых интерфейсов.
hostGroup
ZVirtHostGroupReference
(Опционально)
Конфигурация параметров среды zVirt для групп узлов.

ZVirtAuth

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

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

Параметр
Описание
apiUrl
String
HTTP URL для доступа к zVirt API.
username
String
Учетная запись для доступа к zVirt API.
password
String
Пароль учетной записи для доступа к zVirt API.
tlsCaBundle
String
Цепочка корневых TLS-сертификатов для подключения к интерфейсу zVirt API. Передается в виде строки с данными, закодированными в base64.

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