Описание ресурсов, используемых при установке Deckhouse.
Не изменяйте параметры serviceSubnetCIDR
, podSubnetNodeCIDRPrefix
, podSubnetCIDR
в работающем кластере. Если изменение параметров необходимо — разверните новый кластер.
ClusterConfiguration
Version: deckhouse.io/v1
Общие параметры кластера.
Определяют, например, сетевые параметры, параметры CRI, версию control plane и т. д. Некоторые параметры можно изменять после развертывания кластера, во время его работы.
Чтобы изменить содержимое ресурса ClusterConfiguration
в работающем кластере, выполните следующую команду:
kubectl -n d8-system exec -ti svc/deckhouse-leader -c deckhouse -- deckhouse-controller edit cluster-configuration
Пример:
apiVersion: deckhouse.io/v1
kind: ClusterConfiguration
podSubnetNodeCIDRPrefix: '24'
podSubnetCIDR: 10.244.0.0/16
serviceSubnetCIDR: 192.168.0.0/16
kubernetesVersion: '1.27'
clusterDomain: k8s.internal
clusterType: Cloud
cloud:
prefix: k8s-dev
provider: Yandex
proxy:
httpProxy: https://user:password@proxy.company.my:8443
httpsProxy: https://user:password@proxy.company.my:8443
noProxy:
- company.my
- apiVersion
Обязательный параметр
Используемая версия API Deckhouse.
Допустимые значения:
deckhouse.io/v1
,deckhouse.io/v1alpha1
- cloud.prefix
Префикс объектов, создаваемых в облаке.
Используется, например, для того, чтобы отличать объекты, создаваемые для разных кластеров, для настройки маршрутизации и т. д.
Шаблон:
^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
- cloud.provider
Обязательный параметр
Облачный провайдер.
Допустимые значения:
OpenStack
,AWS
,GCP
,Yandex
,vSphere
,Azure
,VCD
,Zvirt
,Dynamix
,Huaweicloud
- clusterDomain
Обязательный параметр
Домен кластера (используется для маршрутизации внутри кластера).
Обратите внимание: домен не должен совпадать с доменом, используемым в шаблоне DNS-имен в параметре publicDomainTemplate. Например, нельзя одновременно устанавливать
clusterDomain: cluster.local
иpublicDomainTemplate: %s.cluster.local
.При необходимости смены параметра в уже развернутом кластере рекомендуется воспользоваться инструкцией
По умолчанию:
"cluster.local"
- clusterType
Обязательный параметр
Тип инфраструктуры кластера:
Static
— кластер на bare metal (физические серверы) или виртуальных машинах. В случае виртуальных машин подразумевается, что у Deckhouse нет доступа к API для управления виртуальными машинами (они управляются администратором с помощью обычных средств облачной инфраструктуры);Cloud
— кластер, развернутый в облачной инфраструктуре. Этот тип подразумевает, что у Deckhouse есть доступ к API облачной инфраструктуры для управления виртуальными машинами.
Допустимые значения:
Cloud
,Static
- defaultCRI
Тип container runtime, используемый на узлах кластера (в NodeGroup’ах) по умолчанию.
Если используется значение
NotManaged
, то Deckhouse не будет управлять (устанавливать и настраивать) container runtime. В этом случае образы, используемые в NodeGroup’ах, должны содержать уже установленный container runtime.По умолчанию:
"Containerd"
Допустимые значения:
Containerd
,NotManaged
- kind
Обязательный параметр
Допустимые значения:
ClusterConfiguration
- kubernetesVersion
Обязательный параметр
Версия control plane кластера Kubernetes.
Изменение параметра в работающем кластере приведет к автоматическому обновлению версии control plane кластера.
Если указано
Automatic
, то используется версия control plane, которая считается стабильной на данный момент. Если стабильная версия control plane меньше максимальной, которая когда либо была установлена в кластере, больше чем на 1 минорную версию - тогда версия кластера не изменится. Изменение этой версии может произойти при смене минорной версии релиза Deckhouse (см. список изменений к релизу).Допустимые значения:
1.27
,1.28
,1.29
,1.30
,1.31
,Automatic
- podSubnetCIDR
Обязательный параметр
Адресное пространство Pod’ов кластера.
Внимание! Смена параметра в уже развернутом кластере невозможна в обычном режиме. Чтобы обойти это ограничение, используйте специальный флаг.
- podSubnetNodeCIDRPrefix
Префикс сети Pod’ов на узле.
Внимание! Смена параметра в уже развернутом кластере невозможна в обычном режиме. Чтобы обойти это ограничение, используйте специальный флаг.
По умолчанию:
"24"
- proxy
Глобальная настройка proxy-сервера (в основном для работы в закрытых окружениях).
Описанные в этой секции параметры будут транслированы в переменные окружения
HTTP_PROXY
,HTTPS_PROXY
иNO_PROXY
для всех узлов кластера и компонентов Deckhouse. Это приведёт к тому, что HTTP(S) запросы (например, при выполнении curl, git и т. д.) ко всем не указанным в параметреnoProxy
ресурсам будут выполняться через прокси. ПодсетиpodSubnetCIDR
,serviceSubnetCIDR
и доменclusterDomain
добавляются вnoProxy
автоматически.Внимание! Чтобы избежать использования прокси в запросах между компонентами кластера, важно заполнить параметр
noProxy
списком подсетей, которые используются на узлах.Доступно только в enterprise edition.
- proxy.httpProxy
URL proxy-сервера для HTTP-запросов.
При необходимости укажите имя пользователя, пароль и порт proxy-сервера.
Доступно только в enterprise edition.
Шаблон:
^https?://([!*'();&=+$,/?%#\[\]0-9a-zA-Z\.\-\_]+(\:[!*'();:@&=+$,/?%#\[\]0-9a-zA-Z\.\-\_]+)?@)?[0-9a-zA-Z\.\-]+(\:[0-9]{1,5})?$
Примеры:
httpProxy: http://proxy.company.my
httpProxy: https://user:password@proxy.company.my:8443
httpProxy: https://DOMAIN%5Cuser:password@proxy.company.my:8443
httpProxy: https://user%40domain.local:password@proxy.company.my:8443
- proxy.httpsProxy
URL proxy-сервера для HTTPS-запросов.
При необходимости укажите имя пользователя, пароль и порт proxy-сервера.
Доступно только в enterprise edition.
Шаблон:
^https?://([!*'();&=+$,/?%#\[\]0-9a-zA-Z\.\-\_]+(\:[!*'();:@&=+$,/?%#\[\]0-9a-zA-Z\.\-\_]+)?@)?[0-9a-zA-Z\.\-]+(\:[0-9]{1,5})?$
Примеры:
httpsProxy: http://proxy.company.my
httpsProxy: https://user:password@proxy.company.my:8443
httpsProxy: https://DOMAIN%5Cuser:password@proxy.company.my:8443
httpsProxy: https://user%40domain.local:password@proxy.company.my:8443
- proxy.noProxy
Список IP и доменных имен, для которых проксирование не применяется.
Для настройки wildcard-доменов используйте написание вида “.example.com”.
Доступно только в enterprise edition.
- Элемент массива
Шаблон:
^[a-z0-9\-\./]+$
- serviceSubnetCIDR
Обязательный параметр
Адресное пространство для service’ов кластера.
Внимание! Смена параметра в уже развернутом кластере невозможна в обычном режиме. Чтобы обойти это ограничение, используйте специальный флаг.
InitConfiguration
Version: deckhouse.io/v1
Конфигурация Deckhouse, с которой он запустится после установки.
Пример:
apiVersion: deckhouse.io/v1
kind: InitConfiguration
deckhouse:
imagesRepo: nexus.company.my/deckhouse/ee
registryDockerCfg: eyJhdXRocyI6IHsgIm5leHVzLmNvbXBhbnkubXkiOiB7InVzZXJuYW1lIjoibmV4dXMtdXNlciIsInBhc3N3b3JkIjoibmV4dXMtcEBzc3cwcmQiLCJhdXRoIjoiYm1WNGRYTXRkWE5sY2pwdVpYaDFjeTF3UUhOemR6QnlaQW89In19fQo=
registryScheme: HTTPS
registryCA: |
-----BEGIN CERTIFICATE-----
...
-----END CERTIFICATE-----
- apiVersion
Обязательный параметр
Используемая версия API Deckhouse.
Допустимые значения:
deckhouse.io/v1
,deckhouse.io/v1alpha1
- deckhouse
Обязательный параметр
Параметры, необходимые для установки Deckhouse.
- deckhouse.devBranchПараметр устарел
Параметр используется для нужд разработки. Будет заменен на аргумент CLI-команды.
- deckhouse.imagesRepo
Адрес container registry с образами Deckhouse.
Укажите, если используется редакция Enterprise Edition Deckhouse или сторонний container registry (например, прокси-сервер в закрытом окружении).
Адрес учитывает используемую редакцию Deckhouse. Публичный адрес container registry для Deckhouse Enterprise Edition —
registry.deckhouse.io/deckhouse/ee
.По умолчанию:
"registry.deckhouse.io/deckhouse/ce"
Шаблон:
^[0-9a-zA-Z\.\-]+(\:[0-9]{1,5})?(\/[0-9a-zA-Z\.\-\_\/]+)?$
- deckhouse.registryCA
Корневой сертификат, которым можно проверить сертификат container registry при работе по HTTPS (если registry использует самоподписанные SSL-сертификаты).
- deckhouse.registryDockerCfg
Строка авторизации из файла конфигурации Docker-клиента (в Linux обычно это
$HOME/.docker/config.json
) для доступа к стороннему container registry, закодированная в Base64.Например, для доступа к container registry
registry.company.my
под пользователемuser
с паролемP@ssw0rd
это будетeyJhdXRocyI6eyJyZWdpc3RyeS5jb21wYW55Lm15Ijp7ImF1dGgiOiJkWE5sY2pwUVFITnpkekJ5WkFvPSJ9fX0K
(строка{"auths":{"registry.company.my":{"auth":"dXNlcjpQQHNzdzByZAo="}}}
в Base64).По умолчанию:
"eyJhdXRocyI6IHsgInJlZ2lzdHJ5LmRlY2tob3VzZS5pbyI6IHt9fX0="
- deckhouse.registryScheme
Протокол доступа к container registry (HTTP или HTTPS).
По умолчанию:
"HTTPS"
Допустимые значения:
HTTP
,HTTPS
- kind
Обязательный параметр
Допустимые значения:
InitConfiguration
StaticClusterConfiguration
Version: deckhouse.io/v1
Параметры статического (bare metal) кластера.
Чтобы изменить содержимое ресурса StaticClusterConfiguration
в работающем кластере, выполните следующую команду:
kubectl -n d8-system exec -ti svc/deckhouse-leader -c deckhouse -- deckhouse-controller edit static-cluster-configuration
Пример:
apiVersion: deckhouse.io/v1
kind: StaticClusterConfiguration
internalNetworkCIDRs:
- 10.244.0.0/16
- 10.50.0.0/16
- apiVersion
Обязательный параметр
Используемая версия API Deckhouse.
Допустимые значения:
deckhouse.io/v1
,deckhouse.io/v1alpha1
- internalNetworkCIDRs
Список внутренних сетей узлов кластера.
Внутренние сети используются для связи компонентов Kubernetes (
kube-apiserver
,kubelet
и т. д.) между собой.Параметр обязателен к заполнению, если:
- Узлы кластера имеют более одного сетевого интерфейса
- Развертывание кластера происходит внутри Deckhouse Virtualization Platform
При смене значения, в список подсетей должны подпадать существующие адреса узлов кластера.
Пример:
internalNetworkCIDRs: - 192.168.42.0/24 - 172.16.16.0/24
- Элемент массива
Шаблон:
^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\/(3[0-2]|[1-2][0-9]|[0-9]))$
- kind
Обязательный параметр
Допустимые значения:
StaticClusterConfiguration