ClusterConfiguration
Version: deckhouse.io/v1
Общие параметры кластера.
Определяют, например, сетевые параметры, параметры CRI, версию control plane и т. д. Некоторые параметры можно изменять после развертывания кластера, во время его работы.
Чтобы изменить содержимое ресурса ClusterConfiguration в работающем кластере, выполните следующую команду:
d8 system 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.29'
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,DVP
- строка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.Если установлено значение
ContainerdV2, будет использоватьсяCgroupsV2(обеспечивает улучшенную безопасность и управление ресурсами). Для использованияContainerdV2в качестве container runtime узлы кластера должны соответствовать следующим требованиям:- поддержка
CgroupsV2; - ядро Linux версии
5.8и новее; - systemd версии
244и новее; - поддержка модуля ядра
erofs.
По умолчанию:
ContainerdДопустимые значения:
Containerd,ContainerdV2,NotManaged - поддержка
- строкаencryptionAlgorithm
В Kubernetes версии 1.30 и ниже поддерживается только
RSA-2048алгоритм.Начиная с версии 1.31, kubeadm использует указанный алгоритм асимметричного шифрования при генерации ключей и сертификатов для следующих компонентов control-plane:
apiserverapiserver-kubelet-clientapiserver-etcd-clientfront-proxy-clientetcd-serveretcd-peeretcd-healthcheck-client
При изменении этого параметра, cертификаты для выше указанных компонентов будут перевыпущены с выбранным алгоритмом и длиной ключа.
Внимание. При перевыпуске сертификатов не происходит ротация корневого сертификата (CA). Корневой сертификат создаётся с выбранным алгоритмом только при первичном бутстрапе кластера.
По умолчанию:
RSA-2048Допустимые значения:
RSA-2048,RSA-3072,RSA-4096,ECDSA-P256 - строкаkind
Обязательный параметр
Допустимые значения:
ClusterConfiguration - строкаkubernetesVersion
Обязательный параметр
Версия Kubernetes (компонентов control plane кластера).
Изменение параметра в работающем кластере приведет к автоматическому обновлению версии control plane кластера.
Если указано
Automatic, то используется версия control plane, которая считается стабильной на данный момент. Если стабильная версия control plane меньше максимальной, которая когда либо была установлена в кластере, больше чем на 1 минорную версию - тогда версия кластера не изменится. Изменение этой версии может произойти при смене минорной версии релиза Deckhouse (см. список изменений к релизу).Допустимые значения:
1.29,1.30,1.31,1.32,1.33,Automatic - строкаpodSubnetCIDR
Обязательный параметр
Адресное пространство Pod’ов кластера.
Внимание! Смена параметра в уже развернутом кластере невозможна в обычном режиме. Чтобы обойти это ограничение, используйте специальный флаг.
- строкаpodSubnetNodeCIDRPrefix
Префикс сети Pod’ов на узле.
Внимание! Смена параметра в уже развернутом кластере невозможна в обычном режиме. Чтобы обойти это ограничение, используйте специальный флаг.
По умолчанию:
24 - объектproxy
Доступно в редакциях: BE, SE, SE+, EE, CSE Lite (1.67), CSE Pro (1.67)
Глобальная настройка proxy-сервера (в основном для работы в закрытых окружениях).
Описанные в этой секции параметры будут транслированы в переменные окружения
HTTP_PROXY,HTTPS_PROXYиNO_PROXYдля всех узлов кластера и компонентов Deckhouse. Это приведёт к тому, что HTTP(S) запросы (например, при выполнении curl, git и т. д.) ко всем не указанным в параметреnoProxyресурсам будут выполняться через прокси. ПодсетиpodSubnetCIDR,serviceSubnetCIDRи доменclusterDomainдобавляются вnoProxyавтоматически.Внимание! Чтобы избежать использования прокси в запросах между подами кластера и сервисами расположенными в сети узлов кластера, заполните параметр
noProxyсписком подсетей, которые используются на узлах.- строкаproxy.httpProxy
Доступно в редакциях: BE, SE, SE+, EE, CSE Lite (1.67), CSE Pro (1.67)
URL proxy-сервера для HTTP-запросов.
При необходимости укажите имя пользователя, пароль и порт proxy-сервера.
Шаблон:
^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
Доступно в редакциях: BE, SE, SE+, EE, CSE Lite (1.67), CSE Pro (1.67)
URL proxy-сервера для HTTPS-запросов.
При необходимости укажите имя пользователя, пароль и порт proxy-сервера.
Шаблон:
^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
Доступно в редакциях: BE, SE, SE+, EE, CSE Lite (1.67), CSE Pro (1.67)
Список IP и доменных имен, для которых проксирование не применяется.
Для настройки wildcard-доменов используйте написание вида “.example.com”.
Внимание. Если в кластере предполагается взаимодействие подов с сервисами, размещенными в сети узлов кластера, то укажите список подсетей, которые используются на узлах.
- строкаЭлемент массива
Шаблон:
^[a-z0-9\-\./]+$
- строкаserviceSubnetCIDR
Обязательный параметр
Адресное пространство для service’ов кластера.
Внимание! Смена параметра в уже развернутом кластере невозможна в обычном режиме. Чтобы обойти это ограничение, используйте специальный флаг.
DeckhouseRelease
Scope: Cluster
Version: v1alpha1
Определяет конфигурацию релизов Deckhouse.
- булевыйapproved
Разрешает или запрещает ручное обновление.
Игнорируется, если в конфигурации модуля установлен режим обновления
Auto(update.mode: Auto).По умолчанию:
false - объектspec
Обязательный параметр
- строкаspec.applyAfter
Время, до которого отложено обновление, если релиз является частью canary-release.
- объектspec.changelog
Изменения включенных модулей в данном релизе.
- строкаspec.changelogLink
Ссылка на страницу со всеми изменениями данного релиза.
- массив строкspec.disruptionsПараметр устарел
Изменения в релизе, которые могут привести к кратковременному простою в работе системных компонентов.
- объектspec.requirements
Требования для установки релиза.
- строкаspec.version
Обязательный параметр
Версия Deckhouse.
Пример:
version: v1.24.20
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
Module
Scope: Cluster
Version: v1alpha1
Описывает состояние модуля в кластере. Объект Module будет создан автоматически после настройки источника модулей (ModuleSource) и успешной синхронизации.
- объектproperties
- объектproperties.accessibility
Настройки доступности модуля.
- объектproperties.accessibility.editions
Настройки работы модуля в редакциях Deckhouse.
- массив строкproperties.availableSources
Доступные источники для скачивания модуля.
- булевыйproperties.critical
Является ли модуль критичным.
- объектproperties.disableOptions
Параметры защиты от отключения модуля.
- булевыйproperties.disableOptions.confirmation
- строкаproperties.disableOptions.message
- строкаproperties.exclusiveGroup
Принадлежность модуля к группе, где может быть активен только один модуль.
- строкаproperties.namespace
Пространство имен в котором работает модуль.
- строкаproperties.releaseChannel
Релизный канал модуля.
- объектproperties.requirements
Зависимости модуля — набор условий, которые должны выполняться чтобы Deckhouse Kubernetes Platform (DKP) мог запустить модуль.
- строкаproperties.requirements.bootstrapped
Требование к статусу установки кластера (только для встроенных модулей DKP).
- строкаproperties.requirements.deckhouse
Требование к версии Deckhouse.
- строкаproperties.requirements.kubernetes
Требование к версии Kubernetes.
- объектproperties.requirements.modules
Список других включенных модулей, которые необходимы для работы модуля.
- строкаproperties.source
Источник, из которого скачан модуль (иначе пусто).
- строкаproperties.stage
Текущая стадия жизненного цикла модуля.
- массив строкproperties.subsystems
Подсистемы в которые входит модуль.
- строкаproperties.updatePolicy
Имя политики обновления модуля.
- строкаproperties.version
Версия модуля.
- целочисленныйproperties.weight
Вес (приоритет) модуля.
ModuleConfig
Scope: Cluster
Version: v1alpha1
Определяет конфигурацию модуля Deckhouse Kubernetes Platform (параметры модуля). Название ресурса ModuleConfig должно соответствовать названию модуля (например, control-plane-manager для модуля control-plane-manager).
Пример:
apiVersion: deckhouse.io/v1alpha1
kind: ModuleConfig
metadata:
name: module-1
spec:
enabled: true
settings: {}
version: 1
- объектspec
Обязательный параметр
- булевыйspec.enabled
Включить или выключить модуль.
Пример:
enabled: 'false' - строкаspec.maintenance
Задаёт режим управления работой модуля.
-
NoResourceReconciliation— автономный режим для разработки или отладки модуля.В этом режиме:
- Изменения в конфигурации или хуках модуля не синхронизируются, в результате чего ресурсы не обновляются автоматически.
- Отключается мониторинг ресурсов модуля, в результате чего удалённые ресурсы не восстанавливаются.
- Ко всем ресурсам модуля применяется лейбл
maintenance: NoResourceReconciliation. - Срабатывает алерт
ModuleIsInMaintenanceMode.
Допустимые значения:
NoResourceReconciliationПример:
maintenance: NoResourceReconciliation -
- объектspec.settings
Настройки модуля.
- строкаspec.source
Источник, из которого будет скачан модуль.
- строкаspec.updatePolicy
Политика обновления модуля.
Пример:
updatePolicy: test-alpha - числоspec.version
Версия схемы настроек модуля.
Пример:
version: '1'
ModuleDocumentation
Scope: Cluster
Version: v1alpha1
Определяет конфигурацию рендеринга документации модуля Deckhouse.
Ресурсы ModuleDocumentation создает Deckhouse.
- объектspec
Обязательный параметр
- строкаspec.checksum
Контрольная сумма версии модуля.
- строкаspec.path
Путь к версии модуля.
- строкаspec.version
Обязательный параметр
Версия модуля.
Пример:
version: v1.0.0
ModulePullOverride
Scope: Cluster
Определяет конфигурацию ресурса для скачивания конкретных версий модулей Deckhouse.
Важно. Ресурс предназначен только для использования в средах разработки и отладки. Его применение в production-кластерах не рекомендуется. Поддержка ресурса может быть исключена в следующих версиях Deckhouse Kubernetes Platform.
- объектspec
Обязательный параметр
- строкаspec.imageTag
Обязательный параметр
Тег образа контейнера модуля, который будет скачан и установлен.
- булевыйspec.rollback
Определение необходимости восстановления модуля из релиза, если объект ModulePullOverride удалён.
По умолчанию:
false - строкаspec.scanInterval
Интервал сканирования для проверки изменения образа контейнера. Если образ изменился, модуль будет обновлен.
По умолчанию:
15s
Устаревший ресурс. Поддержка ресурса может быть исключена в следующих версиях.
Определяет конфигурацию ресурса для скачивания конкретных версий модулей Deckhouse.
- объектspec
Обязательный параметр
- строкаspec.imageTag
Обязательный параметр
Тег образа контейнера модуля, который будет скачан и установлен.
- булевыйspec.rollback
Indicates whether the module release should be rollback after deleting ModulePullOverride.
По умолчанию:
false - строкаspec.scanInterval
Интервал сканирования для проверки изменения образа контейнера. Если образ изменился, модуль будет обновлен.
По умолчанию:
15s - строкаspec.source
Обязательный параметр
Ссылка на объект ModuleSource модуля.
ModuleRelease
Scope: Cluster
Version: v1alpha1
Определяет конфигурацию релизов модулей Deckhouse.
Ресурсы ModuleRelease создаёт Deckhouse.
- объектspec
Обязательный параметр
- строкаspec.applyAfter
Время, до которого отложено обновление.
- объектspec.changelog
Список изменений модуля в данном релизе.
- строкаspec.moduleName
Обязательный параметр
Название модуля.
- объектspec.requirements
Зависимости релиза — набор условий, которые должны выполняться чтобы Deckhouse Kubernetes Platform мог запустить эту версию модуля.
- строкаspec.requirements.deckhouse
Требование к версии Deckhouse.
- строкаspec.requirements.kubernetes
Требование к версии Kubernetes.
- объектspec.requirements.modules
Список других модулей, которые необходимы для этой версии модуля (должны быть включены).
- объектspec.update
Необязательные параметры обновления.
- массив объектовspec.update.versions
Список правил перехода
from→to, позволяющих пропускать пошаговые обновления. Если текущая установленная версия модуля (статусDeployed) не нижеfrom, и в кластере есть релиз, версия которого соответствуетto, контроллер пропустит промежуточные релизы и обновит модуль до версии изto. Значениеtoможет задавать минорную ветку (X.Y— будет выбрана последняя доступнаяX.Y.Z). Правило указывается в самом релизе назначения (constrained release) — в том, версия которого соответствуетto.- строкаspec.update.versions.from
Обязательный параметр
Минимальная версия, с которой допускается переход (формат
X.Y). - строкаspec.update.versions.to
Обязательный параметр
Конечная версия диапазона — минорная ветка (
X.Y).
- строкаspec.version
Обязательный параметр
Версия модуля в данном релизе.
Пример:
version: v1.0.0 - целочисленныйspec.weight
Вес (приоритет) модуля.
ModuleSettingsDefinition
Scope: Cluster
Version: v1alpha1
Отображает настройки модулей Deckhouse. Определяет список версий настроек модуля.
- объектspec
Обязательный параметр
Спецификация настроек модуля.
- массив объектовspec.versions
Список версий настроек модуля. Каждая версия включает имя и схему.
- массив объектовspec.versions.conversions
Список правил конверсий для данной версии.
Одно правило конверсии с выражениями и описаниями.
- объектspec.versions.conversions.descriptions
Локализованные описания конверсии.
- строкаspec.versions.conversions.descriptions.en
Английское описание конверсии.
- строкаspec.versions.conversions.descriptions.ru
Русское описание конверсии.
- массив строкspec.versions.conversions.expr
Массив jq выражений для преобразования настроек.
- строкаspec.versions.name
Обязательный параметр
Версия настроек модуля.
- объектspec.versions.schema
Схема настроек для данной версии модуля.
ModuleSource
Scope: Cluster
Version: v1alpha1
Определяет конфигурацию источника модулей Deckhouse.
Пример:
apiVersion: deckhouse.io/v1alpha1
kind: ModuleSource
metadata:
name: example
spec:
registry:
repo: registry.example.io/modules-source
dockerCfg: "<base64 encoded credentials>"
- объектspec
Обязательный параметр
- объектspec.registry
Обязательный параметр
- строкаspec.registry.ca
Корневой сертификат (В формате PEM), которым можно проверить сертификат registry при работе по HTTPS (если registry использует самоподписанные SSL-сертификаты).
Создание ресурса ModuleSource с указанием корневого сертификата, приведет к перезапуску containerd на всех узлах кластера.
- строкаspec.registry.dockerCfg
Строка с токеном доступа к container registry в Base64. В случае использования анонимного доступа к container registry не заполняйте это поле.
- строкаspec.registry.repo
Обязательный параметр
Адрес репозитория образов контейнеров.
Пример:
repo: registry.example.io/deckhouse/modules - строкаspec.registry.scheme
Протокол для доступа к репозиторию контейнеров.
По умолчанию:
HTTPSДопустимые значения:
HTTP,HTTPS
- строкаspec.releaseChannelПараметр устарел
Желаемый канал обновлений по умолчанию для модулей данного container registry.
ModuleUpdatePolicy
Scope: Cluster
Определяет режим и настройки обновления модуля.
Пример:
apiVersion: deckhouse.io/v1alpha2
kind: ModuleUpdatePolicy
metadata:
name: example-update-policy
spec:
releaseChannel: Alpha
update:
mode: Auto
windows:
- days:
- Mon
- Wed
from: '13:30'
to: '14:00'
- объектspec
Обязательный параметр
- строкаspec.releaseChannel
Желаемый канал обновления модуля.
Порядок возрастания стабильности канала обновлений (от наименее стабильного к наиболее стабильному):
Alpha,Beta,EarlyAccess,Stable,RockSolid.По умолчанию:
StableДопустимые значения:
Alpha,Beta,EarlyAccess,Stable,RockSolid - объектspec.update
Обязательный параметр
Режим и настройки обновления модуля.
- строкаspec.update.mode
Режим обновления версий модуля.
-
AutoPatch— автоматический режим обновления для патч-версий.Для обновления минорной версии (например, с
v1.15.*наv1.16.*) необходимо подтверждение.Обновление патч-версии (например, с
v1.16.1наv1.16.2) применяется с учетом окон обновлений, если они заданы. -
Auto(автоматический) — все обновления применяются автоматически.Обновления минорной версии (например, с
v1.15.*наv1.16.*) и патч-версии (например, сv1.16.1наv1.16.2) применяются с учетом заданных окон обновлений, либо, если окна обновлений не заданы, по мере появления обновлений на соответствующем канале обновлений. -
Manual(ручной) — для обновления и минорной, и патч-версии необходимо подтверждение.
Для подтверждения обновления установите аннотацию
modules.deckhouse.io/approved="true"в соответствующем ресурсе ModuleRelease.По умолчанию:
AutoДопустимые значения:
Auto,Manual,AutoPatch -
- массив объектовspec.update.windows
Расписание окон обновления модуля.
- массив строкspec.update.windows.days
Дни недели, в которые применяется окно обновлений.
Примеры:
days: Mondays: Wed- строкаЭлемент массива
День недели.
Допустимые значения:
Mon,Tue,Wed,Thu,Fri,Sat,SunПример:
Mon
- строкаspec.update.windows.from
Обязательный параметр
Время начала окна обновления (в часовом поясе UTC).
Должно быть меньше времени окончания окна обновления.
Шаблон:
^(?:\d|[01]\d|2[0-3]):[0-5]\d$Пример:
from: '13:00' - строкаspec.update.windows.to
Обязательный параметр
Время окончания окна обновления (в часовом поясе UTC).
Должно быть больше времени начала окна обновления.
Шаблон:
^(?:\d|[01]\d|2[0-3]):[0-5]\d$Пример:
to: '18:30'
Устаревший ресурс. Поддержка ресурса может быть исключена в следующих версиях.
Определяет режим и настройки обновления модуля.
Пример:
apiVersion: deckhouse.io/v1alpha1
kind: ModuleUpdatePolicy
metadata:
name: example-update-policy
spec:
moduleReleaseSelector:
labelSelector:
matchLabels:
source: example
module: module-1
releaseChannel: Alpha
update:
mode: Auto
windows:
- days:
- Mon
- Wed
from: '13:30'
to: '14:00'
- объектspec
Обязательный параметр
- объектspec.moduleReleaseSelector
Обязательный параметр
Определяет модули к которым применяются настройки обновления.
- объектspec.moduleReleaseSelector.labelSelector
Обязательный параметр
Определяет фильтр на основе меток, указанных у целевых модулей
Если указаны одновременно
matchExpressionsиmatchLabels, учитываются оба фильтра (AND).- массив объектовspec.moduleReleaseSelector.labelSelector.matchExpressions
Список фильтров на основе выражений.
- строкаspec.moduleReleaseSelector.labelSelector.matchExpressions.key
Обязательный параметр
Имя метки.
- строкаspec.moduleReleaseSelector.labelSelector.matchExpressions.operator
Обязательный параметр
Оператор сравнения.
Допустимые значения:
In,NotIn,Exists,DoesNotExist - массив строкspec.moduleReleaseSelector.labelSelector.matchExpressions.values
Значение метки.
- объектspec.moduleReleaseSelector.labelSelector.matchLabels
Фильтр на основе совпадения меток.
Пример:
matchLabels: source: deckhouse module: deckhouse-admin
- строкаspec.releaseChannel
Желаемый канал обновления модуля. Порядок возрастания стабильности канала обновлений (от наименее стабильного к наиболее стабильному):
Alpha,Beta,EarlyAccess,Stable,RockSolid.По умолчанию:
StableДопустимые значения:
Alpha,Beta,EarlyAccess,Stable,RockSolid - объектspec.update
Обязательный параметр
Режим и настройки обновления модуля.
- строкаspec.update.mode
Режим обновления версий модуля.
-
AutoPatch— автоматический режим обновления для патч-версий.Для обновления минорной версии (например, с
v1.15.*наv1.16.*) необходимо подтверждение.Обновление патч-версии (например, с
v1.16.1наv1.16.2) применяется с учетом окон обновлений, если они заданы. -
Auto(автоматический) — все обновления применяются автоматически.Обновления минорной версии (например, с
v1.15.*наv1.16.*) и патч-версии (например, сv1.16.1наv1.16.2) применяются с учетом заданных окон обновлений, либо, если окна обновлений не заданы, по мере появления обновлений на соответствующем канале обновлений. -
Manual(ручной) — для обновления и минорной, и патч-версии необходимо подтверждение.
Для подтверждения обновления установите аннотацию
modules.deckhouse.io/approved="true"в соответствующем ресурсе ModuleRelease.Ignore— обновления отключены.
По умолчанию:
AutoPatchДопустимые значения:
Auto,Manual,Ignore,AutoPatch -
- массив объектовspec.update.windows
Расписание окон обновления модуля.
- массив строкspec.update.windows.days
Дни недели, в которые применяется окно обновлений.
Примеры:
days: Mondays: Wed- строкаЭлемент массива
День недели.
Допустимые значения:
Mon,Tue,Wed,Thu,Fri,Sat,SunПример:
Mon
- строкаspec.update.windows.from
Обязательный параметр
Время начала окна обновления (в часовом поясе UTC).
Должно быть меньше времени окончания окна обновления.
Шаблон:
^(?:\d|[01]\d|2[0-3]):[0-5]\d$Пример:
from: '13:00' - строкаspec.update.windows.to
Обязательный параметр
Время окончания окна обновления (в часовом поясе UTC).
Должно быть больше времени начала окна обновления.
Шаблон:
^(?:\d|[01]\d|2[0-3]):[0-5]\d$Пример:
to: '18:30'
StaticClusterConfiguration
Version: deckhouse.io/v1
Параметры статического (bare metal) кластера.
Чтобы изменить содержимое ресурса StaticClusterConfiguration в работающем кластере, выполните следующую команду:
d8 system 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
SSHConfig
Version: dhctl.deckhouse.io/v1
Конфигурация SSH для dhctl.
Пример:
apiVersion: dhctl.deckhouse.io/v1
kind: SSHConfig
sshUser: user
sshPort: 22
sshExtraArgs: "-vvv"
sshAgentPrivateKeys:
- key: "<ssh-private-key>"
- строкаapiVersion
Версия Deckhouse API.
Допустимые значения:
dhctl.deckhouse.io/v1 - строкаkind
Допустимые значения:
SSHConfig - булевыйlegacyMode
Использовать легаси режим SSH (clissh).
- булевыйmodernMode
Использовать актуальный режим SSH (gossh).
- массив объектовsshAgentPrivateKeys
- строкаsshAgentPrivateKeys.key
Обязательный параметр
Приватный SSH-ключ.
- строкаsshAgentPrivateKeys.passphrase
Пароль SSH-ключа.
- строкаsshBastionHost
Хост SSH-бастиона.
- строкаsshBastionPassword
A password for the bastion user.
- целочисленныйsshBastionPort
Порт SSH-бастиона.
- строкаsshBastionUser
Имя пользователя бастиона.
- строкаsshExtraArgs
Дополнительные параметры соединения SSH.
- целочисленныйsshPort
Порт SSH.
- строкаsshUser
Имя пользователя SSH.
- строкаsudoPassword
Пароль sudo пользователя.
SSHHost
Version: dhctl.deckhouse.io/v1
Конфигурация SSH-хоста.
Пример:
apiVersion: dhctl.deckhouse.io/v1
kind: SSHHost
host: 172.16.0.0
- строкаapiVersion
Обязательный параметр
Версия Deckhouse API.
Допустимые значения:
dhctl.deckhouse.io/v1 - строкаhost
Обязательный параметр
SSH-хост.
- строкаkind
Обязательный параметр
Допустимые значения:
SSHHost