Описание ресурсов, используемых при установке 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
- строка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"Допустимые значения:
Docker,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.myhttpProxy: https://user:password@proxy.company.my:8443httpProxy: https://DOMAIN%5Cuser:password@proxy.company.my:8443httpProxy: 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.myhttpsProxy: https://user:password@proxy.company.my:8443httpsProxy: https://DOMAIN%5Cuser:password@proxy.company.my:8443httpsProxy: 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.bundleПараметр устарел
Используйте параметр bundle ModuleConfig ‘deckhouse’ вместо этого параметра.
Устанавливаемый в кластере вариант поставки Deckhouse.
По умолчанию:
"Default"Допустимые значения:
Minimal,Managed,Default - строка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.logLevelПараметр устарел
Используйте параметр logLevel ModuleConfig ‘deckhouse’ вместо этого параметра.
Уровень логирования Deckhouse.
По умолчанию:
"Info"Допустимые значения:
Debug,Info,Error - строка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 - строкаdeckhouse.releaseChannelПараметр устарел
Используйте параметр releaseChannel ModuleConfig ‘deckhouse’ вместо этого параметра.
Устанавливаемый в кластере канал обновлений Deckhouse.
Допустимые значения:
Alpha,Beta,EarlyAccess,Stable,RockSolid
- строка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