Описание ресурсов, используемых при установке Deckhouse.
ClusterConfiguration
Version: deckhouse.io/v1
Общие параметры кластера.
Определяют, например, сетевые параметры, параметры CRI, версию control plane и т.д.. Некоторые параметры можно изменять после развертывания кластера, во время его работы.
Чтобы изменить содержимое ресурса ClusterConfiguration
в работающем кластере, выполните следующую команду:
kubectl -n d8-system exec -ti deploy/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.23'
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объект
Параметры облачного провайдера (если используется clusterType
Cloud
).- cloud.prefixстрока
Префикс объектов создаваемых в облаке.
Используется например для того, чтобы отличать объекты создаваемые для разных кластеров, для настройки маршрутизации и т.д.
Шаблон:
^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
- cloud.providerстрока
Обязательный параметр
Облачный провайдер.
Допустимые значения:
OpenStack
,AWS
,GCP
,Yandex
,vSphere
,Azure
- cloud.prefixстрока
- clusterDomainстрока
Обязательный параметр
Домен кластера (используется для маршрутизации внутри кластера).
По умолчанию:
"cluster.local"
- clusterTypeстрока
Обязательный параметр
Тип инфраструктуры кластера:
Static
— кластер bare metal (физические серверы);Cloud
— кластер, развернутый на ресурсах облачного провайдера.
Допустимые значения:
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, которая считается стабильной на данный момент. Изменение этой версии может произойти при смене минорной версии релиза Deckhouse (см. список изменений к релизу).Допустимые значения:
1.22
,1.23
,1.24
,1.25
,1.26
,Automatic
- podSubnetCIDRстрока
Обязательный параметр
Адресное пространство Pod’ов кластера.
- podSubnetNodeCIDRPrefixстрока
Префикс сети Pod’ов на узле.
Внимание! Не меняйте параметр в уже развернутом кластере.
По умолчанию:
"24"
- proxyобъект
Глобальная настройка proxy-сервера (в основном для работы в закрытых окружениях).
Внимание! Для того, чтобы избежать использования прокси в запросах между компонентами кластера, важно заполнить параметр
noProxy
списком подсетей, которые используются на нодах.- proxy.httpProxyстрока
URL proxy-сервера для HTTP-запросов.
При необходимости укажите имя пользователя, пароль и порт proxy-сервера.
Шаблон:
^https?://[0-9a-zA-Z\.\-:@]+$
Примеры:
httpProxy: http://proxy.company.my
httpProxy: https://user:password@proxy.company.my:8443
- proxy.httpsProxyстрока
URL proxy-сервера для HTTPS-запросов.
При необходимости укажите имя пользователя, пароль и порт proxy-сервера.
Шаблон:
^https?://[0-9a-zA-Z\.\-:@]+$
Примеры:
httpsProxy: http://proxy.company.my
httpsProxy: https://user:password@proxy.company.my:8443
- proxy.noProxyмассив строк
Список IP и доменных имен, для которых проксирование не применяется.
Для настройки wildcard-доменов используйте написание вида “.example.com”.
- Элемент массивастрока
Шаблон:
^[a-z0-9\-\./]+$
- Элемент массивастрока
- proxy.httpProxyстрока
- serviceSubnetCIDRстрока
Обязательный параметр
Адресное пространство для service’ов кластера.
InitConfiguration
Version: deckhouse.io/v1
Конфигурация Deckhouse, с которой он запустится после установки.
Пример:
apiVersion: deckhouse.io/v1
kind: InitConfiguration
releaseChannel: Stable
imagesRepo: nexus.company.my/deckhouse/ee
registryDockerCfg: eyJhdXRocyI6IHsgIm5leHVzLmNvbXBhbnkubXkiOiB7InVzZXJuYW1lIjoibmV4dXMtdXNlciIsInBhc3N3b3JkIjoibmV4dXMtcEBzc3cwcmQiLCJhdXRoIjoiYm1WNGRYTXRkWE5sY2pwdVpYaDFjeTF3UUhOemR6QnlaQW89In19fQo=
registryScheme: HTTPS
registryCA: |
-----BEGIN CERTIFICATE-----
...
-----END CERTIFICATE-----
configOverrides:
global:
modules:
publicDomainTemplate: "%s.kube.company.my"
cniFlannelEnabled: true
cniFlannel:
podNetworkMode: VXLAN
- apiVersionстрока
Обязательный параметр
Используемая версия API Deckhouse.
Допустимые значения:
deckhouse.io/v1
,deckhouse.io/v1alpha1
- deckhouseобъект
Обязательный параметр
Параметры, необходимые для установки Deckhouse.
- deckhouse.bundleстрока
Устанавливаемый в кластере вариант поставки Deckhouse.
По умолчанию:
"Default"
Допустимые значения:
Minimal
,Managed
,Default
- deckhouse.configOverridesобъект
Начальная конфигурация Deckhouse.
Структура, указанная в параметре, будет перенесена в ConfigMap
deckhouse
(в пространстве именd8-system
) без изменений.Укажите здесь любые параметры конфигурации Deckhouse, с которыми он должен запуститься после установки.
- deckhouse.devBranchстрока
- 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"
- deckhouse.logLevelстрока
Уровень логирования Deckhouse.
По умолчанию:
"Info"
Допустимые значения:
Debug
,Info
,Error
- deckhouse.registryCAстрока
Корневой сертификат, которым можно проверить сертификат container registry при работе по HTTPS (если registry использует самоподписанные SSL-сертификаты).
- deckhouse.registryDockerCfgстрока
Строка с правами доступа к стороннему registry, зашифрованная в Base64.
По умолчанию:
"eyJhdXRocyI6IHsgInJlZ2lzdHJ5LmRlY2tob3VzZS5pbyI6IHt9fX0="
- deckhouse.registrySchemeстрока
Протокол доступа к container registry (HTTP или HTTPS).
По умолчанию:
"HTTPS"
Допустимые значения:
HTTP
,HTTPS
- deckhouse.releaseChannelстрока
Устанавливаемый в кластере канал обновлений Deckhouse.
Допустимые значения:
Alpha
,Beta
,EarlyAccess
,Stable
,RockSolid
- deckhouse.bundleстрока
- kindстрока
Обязательный параметр
Допустимые значения:
InitConfiguration
StaticClusterConfiguration
Version: deckhouse.io/v1
Параметры статического (bare metal) кластера.
Пример:
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
и т.д.) между собой.Если каждый узел в кластере имеет только один сетевой интерфейс, то параметр можно не указывать и ресурс
StaticClusterConfiguration
можно не создавать.- Элемент массивастрока
Шаблон:
^(([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]))$
Пример:
192.168.42.0/24
- Элемент массивастрока
- kindстрока
Обязательный параметр
Допустимые значения:
StaticClusterConfiguration