Полная конфигурация values TenantCluster#

Все values можно переопределить через CR TenantCluster с именем вложенного кластера и указание нужных параметров в spec.values. Общее описание конфигурации values для инструментов содержится в разделе «Конфигурации инструментов дополнительных компонентов».

sync - настройки синхронизации ресурсов между виртуальным и хост-кластерами#

Параметр

Описание

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

sync.toHost.services.enabled

Синхронизация сервисов из вложенного кластера в хост-кластер

true

sync.toHost.endpoints.enabled

Синхронизация конечной точки из вложенного кластера в хост-кластер

true

sync.toHost.persistentVolumeClaims.enabled

Синхронизация PVC из вложенного кластера в хост-кластер

true

sync.toHost.configMaps.enabled

Синхронизация ConfigMaps из вложенного кластера в хост-кластер

true

sync.toHost.configMaps.all

Синхронизировать все ConfigMaps или только необходимые

false

sync.toHost.secrets.enabled

Синхронизация секретов из вложенного кластера в хост-кластер

true

sync.toHost.secrets.all

Синхронизировать все секреты или только необходимые

true

sync.toHost.pods.enabled

Синхронизация pod из вложенного кластера в хост-кластер

true

sync.toHost.pods.translateImage

Сопоставление образов для замены при синхронизации pod

{}

sync.toHost.pods.enforceTolerations

Принудительные tolerations для всех синхронизируемых pod

[]

sync.toHost.pods.useSecretsForSATokens

Использовать секреты для хранения токенов сервисных аккаунтов

false

sync.toHost.pods.rewriteHosts.enabled

Включить перезапись FQDN для StatefulSet pod

true

sync.toHost.pods.rewriteHosts.initContainer.image

Образ init-контейнера для перезаписи FQDN

'{{ .Values.global.image.registry }}/{{ .Values.global.image.repository }}/{{ .Values.global.dappVersion }}/dapp-vcluster/dev/vcluster:0.22.4-master'

sync.toHost.pods.rewriteHosts.initContainer.resources.limits.cpu

Лимит CPU для init-контейнера

30m

sync.toHost.pods.rewriteHosts.initContainer.resources.limits.memory

Лимит памяти для init-контейнера

64Mi

sync.toHost.pods.rewriteHosts.initContainer.resources.requests.cpu

Запрос CPU для init-контейнера

30m

sync.toHost.pods.rewriteHosts.initContainer.resources.requests.memory

Запрос памяти для init-контейнера

64Mi

sync.toHost.ingresses.enabled

Синхронизация Ingress-ресурсов из вложенного кластера в хост-кластер

true

sync.toHost.priorityClasses.enabled

Синхронизация PriorityClasses из вложенного кластера в хост-кластер

false

sync.toHost.networkPolicies.enabled

Синхронизация NetworkPolicies из вложенного кластера в хост-кластер

false

sync.toHost.volumeSnapshots.enabled

Синхронизация VolumeSnapshots из вложенного кластера в хост-кластер

false

sync.toHost.volumeSnapshotContents.enabled

Синхронизация VolumeSnapshotContents из вложенного кластера в хост-кластер

false

sync.toHost.podDisruptionBudgets.enabled

Синхронизация PodDisruptionBudgets из вложенного кластера в хост-кластер

false

sync.toHost.serviceAccounts.enabled

Синхронизация ServiceAccounts из вложенного кластера в хост-кластер

false

sync.toHost.storageClasses.enabled

Синхронизация StorageClasses из вложенного кластера в хост-кластер

false

sync.toHost.persistentVolumes.enabled

Синхронизация PersistentVolumes из вложенного кластера в хост-кластер

false

sync.fromHost.events.enabled

Синхронизация событий из хост-кластера в виртуальный кластер

true

sync.fromHost.csiDrivers.enabled

Синхронизация CSI драйверов из хост-кластера в виртуальный кластер

auto

sync.fromHost.csiNodes.enabled

Синхронизация CSI узлов из хост-кластера в виртуальный кластер

auto

sync.fromHost.csiStorageCapacities.enabled

Синхронизация CSI объема storage из хост-кластера в виртуальный кластер

auto

sync.fromHost.storageClasses.enabled

Синхронизация StorageClasses из хоста кластера в виртуальный кластер

auto

sync.fromHost.ingressClasses.enabled

Синхронизация IngressClasses из хост-кластера в виртуальный кластер

false

sync.fromHost.runtimeClasses.enabled

Синхронизация RuntimeClasses из хост-кластера в виртуальный кластер

false

sync.fromHost.priorityClasses.enabled

Синхронизация PriorityClasses из хост-кластера в виртуальный кластер

false

sync.fromHost.nodes.enabled

Синхронизация узлов из хост-кластера в виртуальный кластер

true

sync.fromHost.nodes.syncBackChanges

Обратная синхронизация меток и taints из вложенного кластера в хост-кластер

false

sync.fromHost.nodes.clearImageStatus

Очистка статуса образов при синхронизации узлов

true

sync.fromHost.nodes.selector.all

Синхронизировать все узлов или только те, где назначены pod

false

sync.fromHost.nodes.selector.labels

Селектор меток узлов для фильтрации

{}

sync.fromHost.volumeSnapshotClasses.enabled

Синхронизация VolumeSnapshotClasses из хост-кластера в виртуальный кластер

false

controlPlane - настройки компонентов controlPlane вложенного кластера#

Параметр

Описание

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

controlPlane.distro.k8s.enabled

Включить дистрибутив K8S для вложенного кластера

true

controlPlane.distro.k8s.version

Версия Kubernetes-компонентов (Scheduler, Controller Manager, Apiserver)

v1.28.15

controlPlane.distro.k8s.apiServer.enabled

Включить API-сервер

true

controlPlane.distro.k8s.apiServer.command

Команда для запуска API-сервера

[]

controlPlane.distro.k8s.apiServer.extraArgs

Дополнительные аргументы для API-сервера

['--oidc-ca-file=/etc/kubernetes/pki/tls.crt', '--oidc-client-id=dapp', '--oidc-groups-claim=groups', '--oidc-issuer-url=[https://auth.{{](https://auth.{{/) .Release.Name }}.{{ .Values.global.publicDomain }}', '--oidc-username-claim=email']

controlPlane.distro.k8s.apiServer.imagePullPolicy

Политика загрузки образа API-сервера

""

controlPlane.distro.k8s.apiServer.image.registry

Реестр образа API-сервера

'{{ .Values.global.image.registry }}'

controlPlane.distro.k8s.apiServer.image.repository

Репозиторий образа API-сервера

'{{ .Values.global.image.repository }}/{{ .Values.global.dappVersion }}/dapp-kubernetes/kube-apiserver'

controlPlane.distro.k8s.apiServer.image.tag

Тег образа API-сервера

v1.28.15

controlPlane.distro.k8s.controllerManager.enabled

Включить Controller Manager

true

controlPlane.distro.k8s.controllerManager.command

Команда для запуска Controller Manager

[]

controlPlane.distro.k8s.controllerManager.extraArgs

Дополнительные аргументы для Controller Manager

[]

controlPlane.distro.k8s.controllerManager.imagePullPolicy

Политика загрузки образа Controller Manager

""

controlPlane.distro.k8s.controllerManager.image.registry

Реестр образа Controller Manager

'{{ .Values.global.image.registry }}'

controlPlane.distro.k8s.controllerManager.image.repository

Репозиторий образа Controller Manager

'{{ .Values.global.image.repository }}/{{ .Values.global.dappVersion }}/dapp-kubernetes/kube-controller-manager'

controlPlane.distro.k8s.controllerManager.image.tag

Тег образа Controller Manager

v1.28.15

controlPlane.distro.k8s.scheduler.command

Команда для запуска Scheduler

[]

controlPlane.distro.k8s.scheduler.extraArgs

Дополнительные аргументы для Scheduler

[]

controlPlane.distro.k8s.scheduler.imagePullPolicy

Политика загрузки образа Scheduler

""

controlPlane.distro.k8s.scheduler.image.registry

Реестр образа Scheduler

'{{ .Values.global.image.registry }}'

controlPlane.distro.k8s.scheduler.image.repository

Репозиторий образа Scheduler

'{{ .Values.global.image.repository }}/{{ .Values.global.dappVersion }}/dapp-kubernetes/kube-scheduler'

controlPlane.distro.k8s.scheduler.image.tag

Тег образа Scheduler

v1.28.15

controlPlane.distro.k8s.env

Переменные окружения для основного контейнера

[]

controlPlane.distro.k8s.securityContext

Контекст безопасности для init-контейнера дистрибутива

{}

controlPlane.distro.k8s.resources.limits.cpu

Лимит CPU для init-контейнера дистрибутива

100m

controlPlane.distro.k8s.resources.limits.memory

Лимит памяти для init-контейнера дистрибутива

256Mi

controlPlane.distro.k8s.resources.requests.cpu

Запрос CPU для init-контейнера дистрибутива

40m

controlPlane.distro.k8s.resources.requests.memory

Запрос памяти для init-контейнера дистрибутива

64Mi

controlPlane.backingStore.database.external.enabled

Использовать внешнюю базу данных

false

controlPlane.backingStore.database.external.dataSource

Строка подключения к внешней базе данных

""

controlPlane.backingStore.database.external.connector

Секрет с информацией о подключении к базе данных

""

controlPlane.backingStore.database.external.certFile

Файл сертификата для подключения к базе данных

""

controlPlane.backingStore.database.external.keyFile

Файл ключа для подключения к базе данных

""

controlPlane.backingStore.database.external.caFile

Файл CA для подключения к базе данных

""

controlPlane.backingStore.etcd.embedded.enabled

Использовать встроенный Etcd

false

controlPlane.backingStore.etcd.embedded.migrateFromDeployedEtcd

Мигрировать с развернутого внешнего Etcd на встроенный

false

controlPlane.backingStore.etcd.deploy.enabled

Развернуть внешний Etcd

true

controlPlane.backingStore.etcd.deploy.statefulSet.enabled

Включить StatefulSet для Etcd

true

controlPlane.backingStore.etcd.deploy.statefulSet.enableServiceLinks

Включить ServiceLinks для pod StatefulSet

true

controlPlane.backingStore.etcd.deploy.statefulSet.annotations

Аннотации для StatefulSet

{}

controlPlane.backingStore.etcd.deploy.statefulSet.labels

Метки для StatefulSet

{}

controlPlane.backingStore.etcd.deploy.statefulSet.image.registry

Реестр образа Etcd

'{{ .Values.global.image.registry }}'

controlPlane.backingStore.etcd.deploy.statefulSet.image.repository

Репозиторий образа Etcd

'{{ .Values.global.image.repository }}/{{ .Values.global.dappVersion }}/dapp-etcd/etcd'

controlPlane.backingStore.etcd.deploy.statefulSet.image.tag

Тег образа Etcd

3.5.21

controlPlane.backingStore.etcd.deploy.statefulSet.imagePullPolicy

Политика загрузки образа Etcd

""

controlPlane.backingStore.etcd.deploy.statefulSet.extraArgs

Дополнительные аргументы для Etcd

[]

controlPlane.backingStore.etcd.deploy.statefulSet.env

Переменные окружения для Etcd

[]

controlPlane.backingStore.etcd.deploy.statefulSet.resources.requests.cpu

Запрос CPU для Etcd

20m

controlPlane.backingStore.etcd.deploy.statefulSet.resources.requests.memory

Запрос памяти для Etcd

150Mi

controlPlane.backingStore.etcd.deploy.statefulSet.pods.annotations

Аннотации для pod Etcd

{}

controlPlane.backingStore.etcd.deploy.statefulSet.pods.labels

Метки для pod Etcd

{}

controlPlane.backingStore.etcd.deploy.statefulSet.highAvailability.replicas

Количество реплик Etcd для высокой доступности

1

controlPlane.backingStore.etcd.deploy.statefulSet.scheduling.podManagementPolicy

Политика управления pod StatefulSet

Parallel

controlPlane.backingStore.etcd.deploy.statefulSet.scheduling.nodeSelector

Селектор узлов для pod Etcd

{}

controlPlane.backingStore.etcd.deploy.statefulSet.scheduling.affinity

Affinity для pod Etcd

{}

controlPlane.backingStore.etcd.deploy.statefulSet.scheduling.tolerations

Tolerations для pod Etcd

[]

controlPlane.backingStore.etcd.deploy.statefulSet.scheduling.topologySpreadConstraints

Ограничения распределения топологии для pod Etcd

[]

controlPlane.backingStore.etcd.deploy.statefulSet.scheduling.priorityClassName

Класс приоритета для pod Etcd

""

controlPlane.backingStore.etcd.deploy.statefulSet.security.podSecurityContext

Контекст безопасности на уровне pod

{}

controlPlane.backingStore.etcd.deploy.statefulSet.security.containerSecurityContext

Контекст безопасности на уровне контейнера

{}

controlPlane.backingStore.etcd.deploy.statefulSet.persistence.volumeClaim.enabled

Включить PersistentVolumeClaim

false

controlPlane.backingStore.etcd.deploy.statefulSet.persistence.volumeClaim.retentionPolicy

Политика удержания PVC

Retain

controlPlane.backingStore.etcd.deploy.statefulSet.persistence.volumeClaim.size

Размер хранилища PVC

5Gi

controlPlane.backingStore.etcd.deploy.statefulSet.persistence.volumeClaim.storageClass

Класс хранилища для PVC

""

controlPlane.backingStore.etcd.deploy.statefulSet.persistence.volumeClaim.accessModes

Режимы доступа для PVC

[ReadWriteOnce]

controlPlane.backingStore.etcd.deploy.statefulSet.persistence.volumeClaimTemplates

Шаблоны volumeClaim для StatefulSet

[]

controlPlane.backingStore.etcd.deploy.statefulSet.persistence.addVolumes

Дополнительные тома

[]

controlPlane.backingStore.etcd.deploy.statefulSet.persistence.addVolumeMounts

Дополнительные монтирования томов для контейнера

[]

controlPlane.backingStore.etcd.deploy.service.enabled

Включить сервис для Etcd

true

controlPlane.backingStore.etcd.deploy.service.annotations

Аннотации для сервиса Etcd

{}

controlPlane.backingStore.etcd.deploy.headlessService.annotations

Аннотации для headless-сервиса Etcd

{}

controlPlane.proxy.bindAddress

Адрес привязки для proxy виртуального кластера

0.0.0.0

controlPlane.proxy.port

Порт для proxy виртуального кластера

8443

controlPlane.proxy.extraSANs

Дополнительные SAN для сертификата proxy

['*.{{ .Release.Name }}.{{ .Values.global.publicDomain }}']

controlPlane.coredns.enabled

Включить CoreDNS в виртуальном кластере

true

controlPlane.coredns.embedded

Запуск встроенного CoreDNS в составе control plane

false

controlPlane.coredns.overwriteManifests

Переопределить манифесты CoreDNS

""

controlPlane.coredns.overwriteConfig

Переопределить конфигурацию CoreDNS

""

controlPlane.coredns.priorityClassName

Класс приоритета для pod CoreDNS

""

controlPlane.coredns.service.annotations

Аннотации для сервиса CoreDNS

{}

controlPlane.coredns.service.labels

Метки для сервиса CoreDNS

{}

controlPlane.coredns.service.spec.type

Тип сервиса CoreDNS

ClusterIP

controlPlane.coredns.deployment.annotations

Аннотации для Deployment CoreDNS

{}

controlPlane.coredns.deployment.labels

Метки для Deployment CoreDNS

{}

controlPlane.coredns.deployment.image

Образ CoreDNS

'{{ .Values.global.image.registry }}/{{ .Values.global.image.repository }}/{{ .Values.global.dappVersion }}/dapp-coredns/coredns:v1.10.1'

controlPlane.coredns.deployment.replicas

Количество реплик CoreDNS

1

controlPlane.coredns.deployment.pods.labels

Метки для pod CoreDNS

{}

controlPlane.coredns.deployment.pods.annotations

Аннотации для pod CoreDNS

{}

controlPlane.coredns.deployment.nodeSelector

Селектор узлов для CoreDNS

{}

controlPlane.coredns.deployment.affinity

Affinity для CoreDNS

{}

controlPlane.coredns.deployment.tolerations

Tolerations для CoreDNS

[]

controlPlane.coredns.deployment.resources.limits.cpu

Лимит CPU для CoreDNS

1000m

controlPlane.coredns.deployment.resources.limits.memory

Лимит памяти для CoreDNS

170Mi

controlPlane.coredns.deployment.resources.requests.cpu

Запрос CPU для CoreDNS

20m

controlPlane.coredns.deployment.resources.requests.memory

Запрос памяти для CoreDNS

64Mi

controlPlane.coredns.deployment.topologySpreadConstraints

Ограничения распределения топологии для CoreDNS

[{'maxSkew': 1, 'topologyKey': 'kubernetes.io/hostname', 'whenUnsatisfiable': 'DoNotSchedule', 'labelSelector': {'matchLabels': {'k8s-app': 'vcluster-kube-dns'}}}]

controlPlane.service.enabled

Включить сервис для control plane

true

controlPlane.service.labels

Метки для сервиса control plane

{}

controlPlane.service.annotations

Аннотации для сервиса control plane

{}

controlPlane.service.kubeletNodePort

NodePort для поддельного Kubelet

0

controlPlane.service.httpsNodePort

NodePort для HTTPS

0

controlPlane.service.spec.type

Тип сервиса control plane

ClusterIP

controlPlane.ingress.enabled

Включить Ingress для control plane

true

controlPlane.ingress.host

Хост для доступа к виртуальному кластеру

'apiserver.{{ .Release.Name }}.{{ .Values.global.publicDomain }}'

controlPlane.ingress.pathType

Тип пути для Ingress

ImplementationSpecific

controlPlane.ingress.labels

Метки для Ingress

{}

controlPlane.ingress.annotations

Аннотации для Ingress

{'[nginx.ingress.kubernetes.io/backend-protocol]': 'HTTPS', '[nginx.ingress.kubernetes.io/ssl-passthrough]': 'true', '[nginx.ingress.kubernetes.io/ssl-redirect]': 'true'}

controlPlane.ingress.spec.ingressClassName

Класс Ingress

nginx

controlPlane.statefulSet.labels

Метки для StatefulSet control plane

{}

controlPlane.statefulSet.annotations

Аннотации для StatefulSet control plane

{}

controlPlane.statefulSet.imagePullPolicy

Политика загрузки образа control plane

""

controlPlane.statefulSet.image.registry

Реестр образа control plane

'{{ .Values.global.image.registry }}'

controlPlane.statefulSet.image.repository

Репозиторий образа control plane

'{{ .Values.global.image.repository }}/{{ .Values.global.dappVersion }}/dapp-vcluster/dev/vcluster'

controlPlane.statefulSet.image.tag

Тег образа control plane

0.22.4-master

controlPlane.statefulSet.workingDir

Рабочий каталог для основного процесса

""

controlPlane.statefulSet.command

Переопределить основную команду

[]

controlPlane.statefulSet.args

Переопределить основные аргументы

[]

controlPlane.statefulSet.env

Дополнительные переменные окружения

[]

controlPlane.statefulSet.hostAliases

Хосты и IP для внедрения в hosts-файл pod

[]

controlPlane.statefulSet.resources.limits.ephemeral-storage

Лимит временного хранилища

8Gi

controlPlane.statefulSet.resources.limits.memory

Лимит памяти

2Gi

controlPlane.statefulSet.resources.requests.ephemeral-storage

Запрос временного хранилища

400Mi

controlPlane.statefulSet.resources.requests.cpu

Запрос CPU

200m

controlPlane.statefulSet.resources.requests.memory

Запрос памяти

256Mi

controlPlane.statefulSet.pods.labels

Метки для pod StatefulSet

{}

controlPlane.statefulSet.pods.annotations

Аннотации для pod StatefulSet

{}

controlPlane.statefulSet.highAvailability.replicas

Количество реплик для высокой доступности

1

controlPlane.statefulSet.highAvailability.leaseDuration

Срок действия для лидера

60

controlPlane.statefulSet.highAvailability.renewDeadline

Срок обновления для лидера

40

controlPlane.statefulSet.highAvailability.retryPeriod

Интервал повторных попыток

15

controlPlane.statefulSet.security.podSecurityContext

Контекст безопасности на уровне pod

{}

controlPlane.statefulSet.security.containerSecurityContext.allowPrivilegeEscalation

Разрешить эскалацию привилегий

false

controlPlane.statefulSet.security.containerSecurityContext.runAsUser

Пользователь для запуска контейнера

0

controlPlane.statefulSet.security.containerSecurityContext.runAsGroup

Группа для запуска контейнера

0

controlPlane.statefulSet.persistence.volumeClaim.enabled

Включить PVC

false

controlPlane.statefulSet.persistence.volumeClaim.retentionPolicy

Политика удержания PVC

Retain

controlPlane.statefulSet.persistence.volumeClaim.size

Размер хранилища PVC

5Gi

controlPlane.statefulSet.persistence.volumeClaim.storageClass

Класс хранилища для PVC

""

controlPlane.statefulSet.persistence.volumeClaim.accessModes

Режимы доступа для PVC

[ReadWriteOnce]

controlPlane.statefulSet.persistence.volumeClaimTemplates

Шаблоны volumeClaim для StatefulSet

[]

controlPlane.statefulSet.persistence.addVolumeMounts

Дополнительные точки монтирования томов

[{mountPath: '/etc/ingress-tls', name: 'ingress-tls', readOnly: True}, {mountPath: '/etc/kubernetes/pki/', name: 'ingress-tls', readOnly: True}]

controlPlane.statefulSet.persistence.addVolumes

Дополнительные тома

[{'name': 'ingress-tls', 'secret': {'secretName': 'ingress-tls', 'defaultMode': 420}}]

controlPlane.statefulSet.persistence.dataVolume

Переопределить том данных

[]

controlPlane.statefulSet.persistence.binariesVolume

Том для исполняемых файлов дистрибутива

[{'name': 'binaries', 'emptyDir': {}}]

controlPlane.statefulSet.enableServiceLinks

Включить ServiceLinks для pod StatefulSet

true

controlPlane.statefulSet.scheduling.podManagementPolicy

Политика управления pod StatefulSet

OrderedReady

controlPlane.statefulSet.scheduling.topologySpreadConstraints

Ограничения распределения топологии

[]

controlPlane.statefulSet.scheduling.priorityClassName

Класс приоритета для pod

""

controlPlane.statefulSet.scheduling.nodeSelector

Селектор узлов

{}

controlPlane.statefulSet.scheduling.affinity

Правила Affinity

{}

controlPlane.statefulSet.scheduling.tolerations

Правила Tolerations

[]

controlPlane.statefulSet.probes.livenessProbe.enabled

Включить проверку на доступность

true

controlPlane.statefulSet.probes.readinessProbe.enabled

Включить проверку готовности

true

controlPlane.statefulSet.probes.startupProbe.enabled

Включить проверку на запуск

true

controlPlane.statefulSet.serviceMonitor.enabled

Создать ServiceMonitor для мониторинга

false

controlPlane.statefulSet.serviceMonitor.labels

Labels для ServiceMonitor

{}

controlPlane.statefulSet.serviceMonitor.annotations

Аннотации для ServiceMonitor

{}

controlPlane.advanced.defaultImageRegistry

Префикс реестра для всех внутренних образов

""

controlPlane.advanced.virtualScheduler.enabled

Использовать планировщик внутри вложенного кластера

false

controlPlane.advanced.serviceAccount.enabled

Развернуть serviceAccount для control plane

true

controlPlane.advanced.serviceAccount.name

Имя serviceAccount

""

controlPlane.advanced.serviceAccount.imagePullSecrets

Секреты для загрузки образов для serviceAccount

[]

controlPlane.advanced.serviceAccount.labels

Метки для serviceAccount

{}

controlPlane.advanced.serviceAccount.annotations

Аннотации для serviceAccount

{}

controlPlane.advanced.workloadServiceAccount.enabled

Развернуть serviceAccount для рабочих нагрузок

true

controlPlane.advanced.workloadServiceAccount.name

Имя serviceAccount для рабочих нагрузок

""

controlPlane.advanced.workloadServiceAccount.imagePullSecrets

Секреты для загрузки образов для workload serviceAccount

[]

controlPlane.advanced.workloadServiceAccount.annotations

Аннотации для workload serviceAccount

{}

controlPlane.advanced.workloadServiceAccount.labels

Метки для workload serviceAccount

{}

controlPlane.advanced.headlessService.labels

Метки для headlessService

{}

controlPlane.advanced.headlessService.annotations

Аннотации для headlessService

{}

controlPlane.advanced.globalMetadata.annotations

Глобальные аннотации для всех ресурсов

{}

integrations - интеграции с другими операторами и инструментами#

Параметр

Описание

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

integrations.metricsServer.enabled

Переиспользовать metricsServer из хост-кластера

false

integrations.metricsServer.nodes

Проксировать узлы API metricsServer

true

integrations.metricsServer.pods

Проксировать pod API metricsServer

true

integrations.externalSecrets.enabled

Интеграция с External Secrets Operator

false

integrations.externalSecrets.webhook.enabled

Переиспользовать webhook хост-кластера

false

integrations.externalSecrets.sync.externalSecrets.enabled

Синхронизировать externalSecrets

true

integrations.externalSecrets.sync.stores.enabled

Синхронизировать stores

false

integrations.externalSecrets.sync.clusterStores.enabled

Синхронизировать clusterStores

false

integrations.externalSecrets.sync.clusterStores.selector.labels

Селектор меток для clusterStores

{}

integrations.kubeVirt.enabled

Интеграция с KubeVirt

false

integrations.kubeVirt.webhook.enabled

Включить webhook для KubeVirt

true

integrations.kubeVirt.sync.dataVolumes.enabled

Синхронизировать DataVolumes

false

integrations.kubeVirt.sync.virtualMachines.enabled

Синхронизировать VirtualMachines

true

integrations.kubeVirt.sync.virtualMachineInstances.enabled

Синхронизировать VirtualMachineInstances

true

integrations.kubeVirt.sync.virtualMachinePools.enabled

Синхронизировать VirtualMachinePools

true

integrations.kubeVirt.sync.virtualMachineClones.enabled

Синхронизировать VirtualMachineClones

true

integrations.kubeVirt.sync.virtualMachineInstanceMigrations.enabled

Синхронизировать VirtualMachineInstanceMigrations

true

integrations.certManager.enabled

Интеграция с Cert-manager

false

integrations.certManager.sync.toHost.certificates.enabled

Синхронизировать сертификаты в хост-кластер

true

integrations.certManager.sync.toHost.issuers.enabled

Синхронизировать issuers в хост-кластер

true

integrations.certManager.sync.fromHost.clusterIssuers.enabled

Синхронизировать clusterIssuers из хост-кластера

true

integrations.certManager.sync.fromHost.clusterIssuers.selector.labels

Селектор меток для clusterIssuers

{}

rbac - настройки ролей и прав доступа#

Параметр

Описание

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

rbac.role.enabled

Включить роль для вложенного кластера

true

rbac.role.overwriteRules

Полностью переопределить правила роли

[]

rbac.role.extraRules

Дополнительные правила для роли

[]

rbac.clusterRole.enabled

Включить кластерную роль

auto

rbac.clusterRole.overwriteRules

Полностью переопределить правила кластерной роли

[]

rbac.clusterRole.extraRules

Дополнительные правила для кластерной роли

[{'apiGroups': ['authentication.k8s.io'], 'resources': ['tokenreviews'], 'verbs': ['create']}]

networking - сетевые настройки вложенного кластера#

Параметр

Описание

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

networking.replicateServices.toHost

Сервисы для синхронизации из вложенного кластера в хост

[]

networking.replicateServices.fromHost

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

[]

networking.resolveDNS

Дополнительные правила DNS

[]

networking.advanced.clusterDomain

Домен кластера Kubernetes

cluster.local

networking.advanced.fallbackHostCluster

Разрешить резервный кластер хоста

false

networking.advanced.proxyKubelets.byHostname

Добавить специальное имя хоста виртуального кластера к узлам

true

networking.advanced.proxyKubelets.byIP

Создать отдельный сервис для каждого узла

true

policies - политики безопасности и ограничения ресурсов#

Параметр

Описание

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

policies.resourceQuota.enabled

Включить ограничение ресурсов

auto

policies.resourceQuota.labels

Метки для ограничения ресурсов

{}

policies.resourceQuota.annotations

Аннотации для ограничения ресурсов

{}

policies.resourceQuota.quota.requests.cpu

Ограничение на запросы CPU

10

policies.resourceQuota.quota.requests.memory

Ограничение на запросы памяти

20Gi

policies.resourceQuota.quota.requests.storage

Ограничение на запросы хранилища

100Gi

policies.resourceQuota.quota.requests.ephemeral-storage

Ограничение на запросы временного хранилища

60Gi

policies.resourceQuota.quota.limits.cpu

Ограничение на лимиты CPU

20

policies.resourceQuota.quota.limits.memory

Ограничение на лимиты памяти

40Gi

policies.resourceQuota.quota.limits.ephemeral-storage

Ограничение на лимиты временного хранилища

160Gi

policies.resourceQuota.quota.services.nodeports

Ограничение на сервисы NodePort

0

policies.resourceQuota.quota.services.loadbalancers

Ограничение на сервисы LoadBalancer

1

policies.resourceQuota.quota.count/endpoints

Ограничение на количество endpoints

40

policies.resourceQuota.quota.count/pods

Ограничение на количество pod

20

policies.resourceQuota.quota.count/services

Ограничение на количество сервисов

20

policies.resourceQuota.quota.count/secrets

Ограничение на количество секретов

100

policies.resourceQuota.quota.count/configmaps

Ограничение на количество configmaps

100

policies.resourceQuota.quota.count/persistentvolumeclaims

Ограничение на количество PVC

20

policies.resourceQuota.scopeSelector.matchExpressions

Выражения селектора области

[]

policies.resourceQuota.scopes

Области действия ограничение ресурсов

[]

policies.limitRange.enabled

Включить limit range

auto

policies.limitRange.labels

Labels для limit range

{}

policies.limitRange.annotations

Аннотации для limit range

{}

policies.limitRange.default.ephemeral-storage

Ограничение диапазона временного хранилища по умолчанию

8Gi

policies.limitRange.default.memory

Ограничение диапазона памяти по умолчанию

512Mi

policies.limitRange.default.cpu

Ограничение диапазона CPU по умолчанию

1

policies.limitRange.defaultRequest.ephemeral-storage

Запрос временного хранилища по умолчанию

3Gi

policies.limitRange.defaultRequest.memory

Запрос памяти по умолчанию

128Mi

policies.limitRange.defaultRequest.cpu

Запрос CPU по умолчанию

100m

policies.limitRange.min

Минимальное ограничение диапазона

{}

policies.limitRange.max

Максимальное ограничение диапазона

{}

policies.networkPolicy.enabled

Включить networkPolicy

false

policies.networkPolicy.labels

Labels для networkPolicy

{}

policies.networkPolicy.annotations

Аннотации для networkPolicy

{}

policies.networkPolicy.fallbackDns

Резервный DNS-сервер

8.8.8.8

policies.networkPolicy.outgoingConnections.platform

Разрешить исходящие соединения к платформе

true

policies.networkPolicy.outgoingConnections.ipBlock.cidr

CIDR-блок для исходящих соединений

0.0.0.0/0

policies.networkPolicy.outgoingConnections.ipBlock.except

Исключения из CIDR-блока

[<ipBlock-except-ip1>, <ipBlock-except-ip2>, <ipBlock-except-ip3>]

policies.centralAdmission.validatingWebhooks

Validating webhook для принудительного применения

[]

policies.centralAdmission.mutatingWebhooks

Mutating webhook для принудительного применения

[]

exportKubeConfig - настройки экспорта конфигурации kubectl#

Параметр

Описание

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

exportKubeConfig.context

Имя контекста в сгенерированном kubeconfig

'{{ .Release.Name }}'

exportKubeConfig.server

Сервер для сгенерированного kubeconfig

https://apiserver.{{ .Release.Name }}.{{ .Values.global.publicDomain }}

exportKubeConfig.insecure

Пропустить проверку TLS для сервера

false

exportKubeConfig.serviceAccount.name

Имя serviceAccount для токена

""

exportKubeConfig.serviceAccount.namespace

Пространство имен serviceAccount

""

exportKubeConfig.serviceAccount.clusterRole

Кластерная роль для serviceAccount

""

exportKubeConfig.secret.name

Имя секрета для хранения kubeconfig

""

exportKubeConfig.secret.namespace

Пространство имен для секрета kubeconfig

""

experimental - экспериментальные функции вложенного кластера#

Параметр

Описание

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

experimental.multiNamespaceMode.enabled

Включить режим множественных пространств имен

false

experimental.syncSettings.disableSync

Отключить синхронизацию ресурсов

false

experimental.syncSettings.rewriteKubernetesService

Перенаправить Kubernetes-сервис на vCluster-сервис

false

experimental.syncSettings.targetNamespace

Пространство имен для синхронизации рабочих нагрузок

""

experimental.syncSettings.setOwner

Устанавливать owner reference на синхронизируемые объекты

true

experimental.isolatedControlPlane.headless

Развернуть vCluster в headless-режиме

false

experimental.deploy.host.manifests

Манифесты для развертывания в хост-кластере

""

experimental.deploy.host.manifestsTemplate

Шаблон манифестов для хост-кластера

""

experimental.deploy.vcluster.manifests

Манифесты для развертывания в виртуальном кластере

"kind: ClusterRoleBinding\napiVersion: rbac.authorization.k8s.io/v1\nmetadata:\n name: kubeadmin\nsubjects:\n- kind: User\n apiGroup: rbac.authorization.k8s.io\n name: kubeadmin\nroleRef:\n apiGroup: rbac.authorization.k8s.io\n kind: ClusterRole\n name: cluster-admin"

experimental.deploy.vcluster.manifestsTemplate

Шаблон манифестов для вложенного кластера

""

experimental.deploy.vcluster.helm

Helm-чарты для развертывания в виртуальном кластере

[]

experimental.genericSync.clusterRole.extraRules

Дополнительные правила для кластерной роли синхронизации

[]

experimental.genericSync.role.extraRules

Дополнительные правила для роли синхронизации

[]

telemetry - настройки телеметрии#

Параметр

Описание

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

telemetry.enabled

Включить телеметрию для control plane

true