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’ов кластера.
Внимание! Смена параметра в уже развернутом кластере невозможна в обычном режиме. Чтобы обойти это ограничение, используйте специальный флаг.