Описание ресурсов, используемых при установке 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 (физические серверы) или виртуальных машинах. В случае виртуальных машин подразумевается, что у 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, которая считается стабильной на данный момент. Изменение этой версии может произойти при смене минорной версии релиза Deckhouse (см. список изменений к релизу).Допустимые значения:
1.23
,1.24
,1.25
,1.26
,1.27
,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
deckhouse:
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.
Укажите здесь параметры конфигурации Deckhouse, с которыми он должен запуститься после установки.
Структура, указанная в параметре, будет использована для создания глобальной конфигурации Deckhouse (moduleConfig
global
) и настроек модулей (moduleConfig<module-name>
).Формат структуры:
configOverrides: global: ... секция глобальных параметров <moduleName>Enabled: true|false <moduleName>: ... секция параметров модуля
Внимание! В
configOverrides
для включения/отключения модуля и указания его настроек используется название модуля в camelCase (например,userAuthn
). После установки Deckhouse для управления модулем используется ресурс moduleConfig с названием модуля в snake-case (например,user-authn
).Пример:
configOverrides: global: modules: publicDomainTemplate: "%s.k8s.company.my" linstorEnabled: true monitoringPingEnabled: false userAuthn: publishAPI: enable: true https: mode: Global prometheus: longtermRetentionDays: 5
- 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строка
Строка с правами доступа к стороннему container 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) кластера.
Чтобы изменить содержимое ресурса StaticClusterConfiguration
в работающем кластере, выполните следующую команду:
kubectl -n d8-system exec -ti deploy/deckhouse -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
и т. д.) между собой.Если каждый узел в кластере имеет только один сетевой интерфейс, параметр можно не указывать и ресурс
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