Application
Scope: Namespaced
Version: v1alpha1
Представляет экземпляр приложения в пространстве имён.
- строкаapiVersion
Определяет версионированную схему этого представления объекта. Серверы должны преобразовывать распознанные схемы в последнее внутреннее значение и могут отклонять нераспознанные значения.
Больше информации в документации Kubernetes.
- строкаkind
Значение представляет REST-ресурс, который описывает данный объект. Серверы могут определить его по эндпоинту, к которому клиент отправляет запросы. Не может быть изменено. Используется в CamelCase.
Больше информации в документации Kubernetes.
- объектmetadata
- объектspec
Обязательный параметр
Определяет конфигурацию приложения.
- строкаspec.packageName
Обязательный параметр
Название пакета приложения для установки.
- строкаspec.packageRepositoryName
Название репозитория, где находится пакет. Если не указано, используется репозиторий по умолчанию.
- строкаspec.packageVersion
Обязательный параметр
Версия пакета приложения для установки.
- строкаspec.releaseChannel
Канал релиза для пакета приложения.
- объектspec.settings
Настройки конфигурации для приложения.
- объектstatus
Статус приложения.
- массив объектовstatus.conditions
Условия, отражающие последние наблюдения за состоянием приложения.
Условие, описывающее один аспект текущего состояния приложения.
- строкаstatus.conditions.lastTransitionTime
Обязательный параметр
Последнее время перехода условия из одного статуса в другой.
- строкаstatus.conditions.message
Обязательный параметр
Человеко-читаемое сообщение, указывающее детали перехода.
Максимальная длина:
32768 - целочисленныйstatus.conditions.observedGeneration
Значение
.metadata.generation, на котором было установлено условие. Позволяет определить актуальность условия для текущего состояния ресурса.Допустимые значения:
0 <= X - строкаstatus.conditions.reason
Обязательный параметр
Программный идентификатор причины последнего перехода условия.
Шаблон:
^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$Длина:
1..1024 - строкаstatus.conditions.status
Обязательный параметр
Статус условия. Может быть
True,FalseилиUnknown.Допустимые значения:
True,False,Unknown - строкаstatus.conditions.type
Обязательный параметр
Тип условия приложения в CamelCase или в формате
foo.example.com/CamelCase.Шаблон:
^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$Максимальная длина:
316
- объектstatus.currentVersion
Информация о текущей установленной версии.
- строкаstatus.currentVersion.channel
Канал релиза, из которого была установлена версия.
- строкаstatus.currentVersion.version
Семантическая версия установленного приложения.
- объектstatus.lastAppliedConfiguration
Конфигурация (пользовательские настройки с учётом значений по умолчанию из схемы конфигурации), на основе которой было выполнено последнее успешное применение.
- объектstatus.summary
Агрегированная сводка состояния приложения, сообщения и подсказки для пользователя. Контроллер заполняет её при каждой синхронизации — каждое приложение соответствует ровно одному состоянию жизненного цикла; это единый источник истины для UI: клиентам не следует вычислять эти значения повторно из conditions.
- строкаstatus.summary.message
Человеко-читаемое описание текущего состояния.
- строкаstatus.summary.state
Высокоуровневое состояние жизненного цикла приложения. Всегда одно из: Pending, Failed, Updating, Ready, Degraded, Suspended.
- строкаstatus.summary.tip
Человеко-читаемая инструкция о том, как разрешить текущее состояние. Пустое значение, если действий не требуется.
- объектstatus.tracking
Отображение Nelm-трекинга.
ApplicationPackage
Scope: Cluster
Version: v1alpha1
Представляет информацию о доступном пакете приложения.
- строкаapiVersion
Определяет версионированную схему этого представления объекта. Серверы должны преобразовывать распознанные схемы в последнее внутреннее значение и могут отклонять нераспознанные значения.
Больше информации в документации Kubernetes.
- строкаkind
Значение представляет REST-ресурс, который описывает данный объект. Серверы могут определить его по эндпоинту, к которому клиент отправляет запросы. Не может быть изменено. Используется в CamelCase.
Больше информации в документации Kubernetes.
- объектmetadata
- объектstatus
Статус пакета приложения.
- массив строкstatus.availableRepositories
Список названий репозиториев, где доступен этот пакет приложения.
- массив объектовstatus.usedBy
Информация о приложениях, использующих этот пакет.
- строкаstatus.usedBy.name
Название экземпляра приложения.
- строкаstatus.usedBy.namespace
Неймспейс, в котором установлено приложение.
- строкаstatus.usedBy.version
Версия пакета, используемая этим приложением.
- целочисленныйstatus.usedByCount
Количество приложений, использующих этот пакет.
ApplicationPackageVersion
Short names: apv
Scope: Cluster
Version: v1alpha1
Представляет версию пакета приложения.
- строкаapiVersion
Определяет версионированную схему этого представления объекта. Серверы должны преобразовывать распознанные схемы в последнее внутреннее значение и могут отклонять нераспознанные значения.
Больше информации в документации Kubernetes.
- строкаkind
Значение представляет REST-ресурс, который описывает данный объект. Серверы могут определить его по эндпоинту, к которому клиент отправляет запросы. Не может быть изменено. Используется в CamelCase.
Больше информации в документации Kubernetes.
- объектmetadata
- объектspec
Определяет параметры версии пакета приложения.
- строкаspec.packageName
Название пакета приложения.
- строкаspec.packageRepositoryName
Название репозитория пакетов, содержащего данный пакет.
- строкаspec.packageVersion
Версия пакета приложения.
- объектstatus
Статус версии пакета приложения.
- массив объектовstatus.conditions
Условия, отражающие последние наблюдения за состоянием версии пакета.
Условие, описывающее один аспект текущего состояния версии пакета.
- строкаstatus.conditions.lastTransitionTime
Обязательный параметр
Последнее время перехода условия из одного статуса в другой.
- строкаstatus.conditions.message
Обязательный параметр
Сообщение с деталями перехода. Может быть пустым.
Максимальная длина:
32768 - целочисленныйstatus.conditions.observedGeneration
Значение
.metadata.generation, на котором было установлено условие. Позволяет определить актуальность условия для текущего состояния ресурса.Допустимые значения:
0 <= X - строкаstatus.conditions.reason
Обязательный параметр
Программный идентификатор причины последнего перехода условия.
Шаблон:
^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$Длина:
1..1024 - строкаstatus.conditions.status
Обязательный параметр
Статус условия. Может быть
True,FalseилиUnknown.Допустимые значения:
True,False,Unknown - строкаstatus.conditions.type
Обязательный параметр
Тип условия версии пакета в CamelCase или в формате
foo.example.com/CamelCase.Шаблон:
^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$Максимальная длина:
316
- объектstatus.packageMetadata
Метаданные о пакете, такие как описание, требования и т.д.
- строкаstatus.packageMetadata.category
Категория, к которой принадлежит этот пакет.
- объектstatus.packageMetadata.changelog
Информация об изменениях в этой версии.
- массив строкstatus.packageMetadata.changelog.features
Список новых функций в этой версии.
- массив строкstatus.packageMetadata.changelog.fixes
Список исправлений ошибок в этой версии.
- объектstatus.packageMetadata.description
Локализованные описания пакета.
- строкаstatus.packageMetadata.description.en
Английское описание пакета.
- строкаstatus.packageMetadata.description.ru
Русское описание пакета.
- объектstatus.packageMetadata.licensing
Информация о лицензировании для разных редакций.
- объектstatus.packageMetadata.licensing.editions
Информация о лицензировании для разных редакций пакета.
- объектstatus.packageMetadata.licensing.editions.<KEY_NAME>
<KEY_NAME>— имя параметра (ключ объекта).- булевыйstatus.packageMetadata.licensing.editions.<KEY_NAME>.available
Доступна ли эта редакция для использования.
- объектstatus.packageMetadata.requirements
Системные требования для этого пакета.
- объектstatus.packageMetadata.requirements.deckhouse
Требуемая версия Deckhouse Kubernetes Platform .
- строкаstatus.packageMetadata.requirements.deckhouse.constraint
Выражение semver-ограничения.
- объектstatus.packageMetadata.requirements.kubernetes
Требуемая версия Kubernetes.
- строкаstatus.packageMetadata.requirements.kubernetes.constraint
Выражение semver-ограничения.
- объектstatus.packageMetadata.requirements.modules
Требуемые модули, разделённые на обязательные, условные, группы альтернатив и группы запрещённых модулей.
- массив объектовstatus.packageMetadata.requirements.modules.anyOf
Группы альтернативных зависимостей — хотя бы один модуль из каждой группы должен быть установлен (и удовлетворять ограничению, если оно задано), чтобы пакет мог запуститься. Группы не добавляют рёбер в граф зависимостей.
Группа альтернативных зависимостей. Хотя бы один из перечисленных модулей должен быть установлен.
- строкаstatus.packageMetadata.requirements.modules.anyOf.description
Человеко-читаемое описание назначения группы.
- массив объектовstatus.packageMetadata.requirements.modules.anyOf.modules
Обязательный параметр
Альтернативные зависимости в группе.
Именованная зависимость модуля с опциональным semver-ограничением. Пустое ограничение означает «любая версия».
- строкаstatus.packageMetadata.requirements.modules.anyOf.modules.constraint
Выражение semver-ограничения.
- строкаstatus.packageMetadata.requirements.modules.anyOf.modules.name
Обязательный параметр
Имя модуля.
- строкаstatus.packageMetadata.requirements.modules.anyOf.name
Обязательный параметр
Стабильный идентификатор группы, используемый в диагностических сообщениях планировщика.
- массив объектовstatus.packageMetadata.requirements.modules.conditional
Условные зависимости — модуль не обязан быть установлен, но если он установлен, его версия должна удовлетворять ограничению, чтобы пакет работал корректно. Заменяет устаревший суффикс
!optionalиз формата требований v1.Именованная зависимость модуля с опциональным semver-ограничением. Пустое ограничение означает «любая версия».
- строкаstatus.packageMetadata.requirements.modules.conditional.constraint
Выражение semver-ограничения.
- строкаstatus.packageMetadata.requirements.modules.conditional.name
Обязательный параметр
Имя модуля.
- массив объектовstatus.packageMetadata.requirements.modules.mandatory
Обязательные зависимости — модуль должен быть установлен (и удовлетворять ограничению версии, если оно задано), чтобы пакет мог запуститься.
Именованная зависимость модуля с опциональным semver-ограничением. Пустое ограничение означает «любая версия».
- строкаstatus.packageMetadata.requirements.modules.mandatory.constraint
Выражение semver-ограничения.
- строкаstatus.packageMetadata.requirements.modules.mandatory.name
Обязательный параметр
Имя модуля.
- массив объектовstatus.packageMetadata.requirements.modules.noneOf
Группы запрещённых зависимостей — ни один модуль из каждой группы не должен быть установлен, чтобы пакет мог запуститься. Член без ограничения запрещён в любой версии; член с ограничением запрещён только в версиях, удовлетворяющих ограничению. Группы не добавляют рёбер в граф зависимостей.
Группа запрещённых зависимостей. Ни один из перечисленных модулей не должен быть установлен.
- строкаstatus.packageMetadata.requirements.modules.noneOf.description
Человеко-читаемое описание назначения группы.
- массив объектовstatus.packageMetadata.requirements.modules.noneOf.modules
Обязательный параметр
Запрещённые зависимости в группе.
Именованная зависимость модуля с опциональным semver-ограничением. Пустое ограничение означает «модуль запрещён в любой версии».
- строкаstatus.packageMetadata.requirements.modules.noneOf.modules.constraint
Выражение semver-ограничения для запрещённого диапазона версий.
- строкаstatus.packageMetadata.requirements.modules.noneOf.modules.name
Обязательный параметр
Имя модуля.
- строкаstatus.packageMetadata.requirements.modules.noneOf.name
Обязательный параметр
Стабильный идентификатор группы, используемый в диагностических сообщениях планировщика.
- строкаstatus.packageMetadata.stage
Стадия разработки пакета (например, alpha, beta, stable).
- объектstatus.packageMetadata.versionCompatibilityRules
Правила совместимости версий для обновлений и откатов.
- объектstatus.packageMetadata.versionCompatibilityRules.downgrade
Правила совместимости для отката с этой версии.
- целочисленныйstatus.packageMetadata.versionCompatibilityRules.downgrade.allowSkipMajor
Сколько основных версий можно пропустить.
- целочисленныйstatus.packageMetadata.versionCompatibilityRules.downgrade.allowSkipMinor
Сколько второстепенных версий можно пропустить.
- целочисленныйstatus.packageMetadata.versionCompatibilityRules.downgrade.allowSkipPatches
Сколько патч-версий можно пропустить.
- строкаstatus.packageMetadata.versionCompatibilityRules.downgrade.from
Начальный диапазон версий для совместимости.
- целочисленныйstatus.packageMetadata.versionCompatibilityRules.downgrade.maxRollback
Максимальное количество версий, которые можно откатить.
- строкаstatus.packageMetadata.versionCompatibilityRules.downgrade.to
Конечный диапазон версий для совместимости.
- объектstatus.packageMetadata.versionCompatibilityRules.upgrade
Правила совместимости для обновления до этой версии.
- целочисленныйstatus.packageMetadata.versionCompatibilityRules.upgrade.allowSkipMajor
Сколько основных версий можно пропустить.
- целочисленныйstatus.packageMetadata.versionCompatibilityRules.upgrade.allowSkipMinor
Сколько второстепенных версий можно пропустить.
- целочисленныйstatus.packageMetadata.versionCompatibilityRules.upgrade.allowSkipPatches
Сколько патч-версий можно пропустить.
- строкаstatus.packageMetadata.versionCompatibilityRules.upgrade.from
Начальный диапазон версий для совместимости.
- целочисленныйstatus.packageMetadata.versionCompatibilityRules.upgrade.maxRollback
Максимальное количество версий, которые можно откатить.
- строкаstatus.packageMetadata.versionCompatibilityRules.upgrade.to
Конечный диапазон версий для совместимости.
- объектstatus.packageSchemas
Схемы OpenAPI для валидации настроек и значений, передаваемых пакету.
- объектstatus.packageSchemas.settingsSchema
Схема OpenAPI v3, используемая для валидации пользовательских настроек пакета (
Application.spec.settings). Содержимое хранится как непрозрачный объект, поскольку представляет собой рекурсивную JSON-схему; её валидация выполняется контроллером при загрузке метаданных пакета. - объектstatus.packageSchemas.valuesSchema
Схема OpenAPI v3, используемая для валидации итоговых значений (значения по умолчанию, объединённые с пользовательскими настройками), передаваемых в хуки и чарты пакета. Содержимое хранится как непрозрачный объект, поскольку представляет собой рекурсивную JSON-схему; её валидация выполняется контроллером при загрузке метаданных пакета.
- массив объектовstatus.usedBy
Информация о приложениях, которые используют эту версию пакета.
- строкаstatus.usedBy.name
Название экземпляра приложения.
- строкаstatus.usedBy.namespace
Пространство имён, где установлено приложение.
- целочисленныйstatus.usedByCount
Количество приложений, использующих эту версию пакета.
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.31'
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 и новее, за исключением диапазонов 6.12.0–6.12.28 или 6.14.0–6.14.6 (эти версии подвержены уязвимости CVE-2025-37999 в EROFS);
- systemd версии
244и новее; - поддержка модуля ядра
erofs.
По умолчанию:
ContainerdДопустимые значения:
Containerd,ContainerdV2,NotManaged - поддержка
- строкаencryptionAlgorithm
Начиная с версии 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.31,1.32,1.33,1.34,1.35,Automatic - строкаpodSubnetCIDR
Обязательный параметр
Адресное пространство подов кластера.
Внимание. Изменение этого параметра в работающем кластере может привести к полному отказу кластера. Изменение заблокировано по умолчанию. Чтобы обойти эту защиту, используйте команду
dhctl config edit cluster-configuration --yes-i-am-sane-and-i-understand-what-i-am-doing. Однако настоятельно рекомендуется пересоздать кластер вместо изменения этого параметра. Подробнее см. в документации. - строкаpodSubnetNodeCIDRPrefix
Размер префикса подсети подов, выделяемой каждому узлу.
Этот параметр определяет, сколько IP-адресов доступно для подов на каждом отдельном узле. Например, если
podSubnetCIDR: 10.111.0.0/16иpodSubnetNodeCIDRPrefix: "24", каждый узел получит подсеть/24(например,10.111.0.0/24,10.111.1.0/24и т.д.), предоставляя до 254 IP-адресов на узел (253 используются для Pod’ов с учётом сетевого и широковещательного адресов).Примеры расчёта:
- При сети
/16и префиксе/24: максимум 256 узлов (2^(24-16) = 256). - При сети
/16и префиксе/25: максимум 512 узлов, но только 126 IP на узел. - Каждый IP-адрес сети подов может поддерживать до 2 подов (один запущенный + один завершающийся).
Внимание. Изменение этого параметра в работающем кластере может привести к полному отказу кластера. Изменение заблокировано по умолчанию. Чтобы обойти эту защиту, используйте команду
dhctl config edit cluster-configuration --yes-i-am-sane-and-i-understand-what-i-am-doing. Однако настоятельно рекомендуется пересоздать кластер вместо изменения этого параметра. Подробнее см. в документации.По умолчанию:
24 - При сети
- объектproxy
Доступно в редакциях: BE, SE, SE+, EE, CSE Lite (1.73), CSE Pro (1.73)
Глобальная настройка 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.73), CSE Pro (1.73)
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.73), CSE Pro (1.73)
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.73), CSE Pro (1.73)
Список IP и доменных имен, для которых проксирование не применяется.
Для настройки wildcard-доменов используйте написание вида “.example.com”.
Внимание. Если в кластере предполагается взаимодействие подов с сервисами, размещенными в сети узлов кластера, то укажите список подсетей, которые используются на узлах.
- строкаЭлемент массива
Шаблон:
^[a-z0-9\-\./]+$
- строкаserviceSubnetCIDR
Обязательный параметр
Адресное пространство для сервисов кластера.
Внимание. Изменение этого параметра в работающем кластере может привести к полному отказу кластера. Изменение заблокировано по умолчанию. Чтобы обойти эту защиту, используйте команду
dhctl config edit cluster-configuration --yes-i-am-sane-and-i-understand-what-i-am-doing. Однако настоятельно рекомендуется пересоздать кластер вместо изменения этого параметра. Подробнее см. в документации.
CNIMigration
Short names: cnim
Scope: Cluster
Version: v1alpha1
Определяет конфигурацию для миграции CNI.
- объектspec
Определяет желаемое состояние миграции CNI.
- строкаspec.targetCNI
Целевой CNI, на который выполняется переключение (например, cilium, flannel).
- объектstatus
Определяет наблюдаемое состояние миграции CNI.
- массив объектовstatus.conditions
Отражает состояние миграции в целом. Список условий перехода между этапами.
- строкаstatus.conditions.lastTransitionTime
Обязательный параметр
- строкаstatus.conditions.message
Обязательный параметр
- строкаstatus.conditions.reason
Обязательный параметр
- строкаstatus.conditions.status
Обязательный параметр
- строкаstatus.conditions.type
Обязательный параметр
- строкаstatus.currentCNI
Обнаруженный CNI, с которого выполняется переключение.
- массив объектовstatus.failedSummary
Детализация ошибок по узлам.
- строкаstatus.failedSummary.node
- строкаstatus.failedSummary.reason
- целочисленныйstatus.nodesFailed
Количество узлов, на которых произошла ошибка.
- целочисленныйstatus.nodesSucceeded
Количество узлов, успешно завершивших текущую фазу.
- целочисленныйstatus.nodesTotal
Общее количество узлов, участвующих в миграции.
- строкаstatus.phase
Текущий этап процесса миграции.
CNINodeMigration
Short names: cninm
Scope: Cluster
Version: v1alpha1
Определяет конфигурацию для миграции CNI на конкретном узле.
- объектspec
Определяет желаемое состояние миграции CNI на узле (пустой объект, конфигурация берется из глобального ресурса).
- объектstatus
Определяет наблюдаемое состояние миграции CNI на узле.
- массив объектовstatus.conditions
Список условий, отражающих шаги, выполненные на узле.
- строкаstatus.conditions.lastTransitionTime
Обязательный параметр
- строкаstatus.conditions.message
Обязательный параметр
- строкаstatus.conditions.reason
Обязательный параметр
- строкаstatus.conditions.status
Обязательный параметр
- строкаstatus.conditions.type
Обязательный параметр
- строкаstatus.phase
Текущая фаза миграции на узле.
DeckhouseRelease
Scope: Cluster
Version: v1alpha1
Определяет состояние и параметры применения конкретного релиза (версии) Deckhouse Kubernetes Platform (DKP) в кластере.
Объекты DeckhouseRelease создаются DKP автоматически, при обнаружении новых версий DKP на выбранном канале обновлений. Изменение DeckhouseRelease позволяет управлять процессом применения соответствующей версии DKP. Подробнее о настройке обновлений DKP можно почитать в документации.
Актуальные версии DKP и модулей по каналам обновлений можно узнать на releases.deckhouse.ru.
- булевыйapproved
Разрешает или запрещает ручное обновление.
Используется только если в конфигурации модуля
deckhouseустановлен ручной режим обновлений (параметр update.mode установлен вManual). Игнорируется, если установлен режим обновленияAutoилиAutoPatch.Подробнее о ручном подтверждении обновлений можно почитать в документации.
По умолчанию:
false - объектspec
Обязательный параметр
- строкаspec.applyAfter
Время, до которого отложено обновление, если релиз является частью canary-release. Если релиз ожидает применения, уточнить причину можно в поле
.status.messageобъекта DeckhouseRelease. - объектspec.changelog
Структура, содержащая список изменений DKP (и модулей, входящих в состав DKP) данного релиза. Подробнее об истории изменений в релизах DKP можно почитать в разделе «Обновление».
- строкаspec.changelogLink
Ссылка на страницу со всеми изменениями данного релиза.
- массив строкspec.disruptionsПараметр устарел
Изменения в релизе, которые могут привести к кратковременному простою в работе системных компонентов.
- объектspec.requirements
Структура, содержащая список требований для установки релиза. Используется ядром DKP. Если требования не выполняются, релиз может быть пропущен или заблокирован для установки.
Сообщения о невыполненных требованиях, можно найти в поле
.status.messageобъекта DeckhouseRelease. - строкаspec.version
Обязательный параметр
Версия DKP.
Пример:
version: v1.73.2
- объектstatus
- булевыйstatus.approved
Статус готовности релиза к обновлению. Используется только для режима обновления
Manual(update.mode: Manual). - строкаstatus.message
Детальное сообщение об ошибке или статусе релиза.
- строкаstatus.phase
Текущий статус релиза.
Типичные значения:
Pending— релиз создан, но еще не применен (ожидание ручного подтверждения, окон обновлений, canary-release, минимального времени уведомления);Deployed— DKP переключился на версию релиза (обновление модулей и компонентов может продолжаться асинхронно);Superseded— релиз устарел и больше не используется;Suspended— релиз отменен (как правило, до применения);Skipped— релиз пропущен из-за невыполненных требований (requirements).
Подробнее о статусах релизов DKP можно почитать в документации модуля
deckhouse.Допустимые значения:
Pending,Deployed,Outdated,Suspended,Superseded,Skipped - строкаstatus.transitionTime
Время изменения статуса релиза.
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).По умолчанию:
Пример:
registryDockerCfg: 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.accessibility.editions.<KEY_NAME>
<KEY_NAME>— имя параметра (ключ объекта).- булевыйproperties.accessibility.editions.<KEY_NAME>.available
- массив строкproperties.accessibility.editions.<KEY_NAME>.enabledInBundles
- массив строк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
Вес (приоритет) модуля.
- объектstatus
- массив объектовstatus.conditions
- строкаstatus.conditions.lastProbeTime
- строкаstatus.conditions.lastTransitionTime
- строкаstatus.conditions.message
- строкаstatus.conditions.reason
- строкаstatus.conditions.status
- строкаstatus.conditions.type
- строкаstatus.hooksState
Hooks status report.
- строкаstatus.phase
Module phase.
Допустимые значения:
Unavailable,Available,Downloading,DownloadingError,Reconciling,Installing,HooksDisabled,WaitSyncTasks,Downloaded,Conflict,Ready,Error
ModuleConfig
Short names: mc
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
- объектstatus
- строкаstatus.message
Additional information
- строкаstatus.version
Version of settings schema in use
ModuleDocumentation
Scope: Cluster
Version: v1alpha1
Определяет конфигурацию рендеринга документации модуля Deckhouse.
Ресурсы ModuleDocumentation создает Deckhouse.
- объектspec
Обязательный параметр
- строкаspec.checksum
Контрольная сумма версии модуля.
- строкаspec.path
Путь к версии модуля.
- строкаspec.version
Обязательный параметр
Версия модуля.
Пример:
version: v1.0.0
- объектstatus
- массив объектовstatus.conditions
- строкаstatus.conditions.address
- строкаstatus.conditions.checksum
- строкаstatus.conditions.lastTransitionTime
- строкаstatus.conditions.message
- строкаstatus.conditions.type
- строкаstatus.conditions.version
- строкаstatus.result
ModulePullOverride
Short names: mpo
Scope: Cluster
- v1alpha2
- v1alpha1
Определяет конфигурацию ресурса для скачивания конкретных версий модулей Deckhouse.
Важно. Ресурс предназначен только для использования в средах разработки и отладки. Его применение в production-кластерах не рекомендуется. Поддержка ресурса может быть исключена в следующих версиях Deckhouse Kubernetes Platform.
- объектspec
Обязательный параметр
- строкаspec.imageTag
Обязательный параметр
Тег образа контейнера модуля, который будет скачан и установлен.
- булевыйspec.rollback
Определение необходимости восстановления модуля из релиза, если объект ModulePullOverride удалён.
По умолчанию:
false - строкаspec.scanInterval
Интервал сканирования для проверки изменения образа контейнера. Если образ изменился, модуль будет обновлен. Поддерживаемые единицы:
h,m,s.По умолчанию:
15sШаблон:
^(\d+h)?(\d+m)?(\d+s)?$
- объектstatus
- строкаstatus.imageDigest
Контрольная сумма образа контейнера.
- строкаstatus.message
Details of the resource status.
- строкаstatus.updatedAt
Когда модуль был обновлен в последний раз.
- целочисленныйstatus.weight
Вес (приоритет) модуля.
Устаревший ресурс. Поддержка ресурса может быть исключена в следующих версиях.
Определяет конфигурацию ресурса для скачивания конкретных версий модулей Deckhouse.
- объектspec
Обязательный параметр
- строкаspec.imageTag
Обязательный параметр
Тег образа контейнера модуля, который будет скачан и установлен.
- булевыйspec.rollback
Indicates whether the module release should be rollback after deleting ModulePullOverride.
По умолчанию:
false - строкаspec.scanInterval
Интервал сканирования для проверки изменения образа контейнера. Если образ изменился, модуль будет обновлен. Поддерживаемые единицы:
h,m,s.По умолчанию:
15sШаблон:
^(\d+h)?(\d+m)?(\d+s)?$ - строкаspec.source
Обязательный параметр
Ссылка на объект ModuleSource модуля.
- объектstatus
- строкаstatus.imageDigest
Контрольная сумма образа контейнера.
- строкаstatus.message
Details of the resource status.
- строкаstatus.updatedAt
Когда модуль был обновлен в последний раз.
- целочисленныйstatus.weight
Вес (приоритет) модуля.
ModuleRelease
Short names: mr
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
Вес (приоритет) модуля.
- объектstatus
- булевыйstatus.approved
Статус готовности релиза к обновлению. Используется только для режима обновления Manual (
update.mode: Manual). - строкаstatus.message
Детальное сообщение об ошибке или статусе релиза.
- строкаstatus.phase
Текущий статус релиза.
Допустимые значения:
Pending,Deployed,Superseded,Suspended,Skipped,Terminating - строкаstatus.pullDuration
Время загрузки модуля.
- целочисленныйstatus.size
Размер образа модуля.
- строкаstatus.transitionTime
Время изменения статуса релиза.
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
Short names: ms
Scope: Cluster
Version: v1alpha1
Определяет конфигурацию источника модулей Deckhouse.
Подробнее об установке модуля из источника — в разделе «Запуск модуля в кластере DKP»
Пример:
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.
- строкаspec.scanInterval
Интервал для сканирования container registry.
Определяет частоту проверки container registry на появление новых модулей и их версий.
По умолчанию:
3mШаблон:
^(\d+h)?(\d+m)?(\d+s)?$Примеры:
scanInterval: 5mscanInterval: 1hscanInterval: 6h30m
- объектstatus
- строкаstatus.message
- массив объектовstatus.modules
Список доступных для установки модулей и их политики обновления.
- строкаstatus.modules.checksum
Чексумма релиза.
- строкаstatus.modules.error
Ошибка процессинга модуля.
- строкаstatus.modules.name
Имя модуля.
- булевыйstatus.modules.overridden
Показывает, есть ли ресурс ModulePullOverride для данного модуля.
- строкаstatus.modules.policy
Имя политики.
- строкаstatus.modules.pullError
Ошибка скачивания модуля.
- строкаstatus.modules.version
Версия модуля
- целочисленныйstatus.modulesCount
Количество доступных модулей.
- строкаstatus.phase
Текущая фаза.
Допустимые значения:
Active,Terminating - строкаstatus.syncTime
Время последней синхронизации с container registry.
ModuleUpdatePolicy
Short names: mup
Scope: Cluster
- v1alpha2
- v1alpha1
Определяет режим и настройки обновления модуля.
Пример:
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,Lts - объект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'
PackageRepository
Scope: Cluster
Version: v1alpha1
PackageRepository является источником пакетов для Deckhouse Kubernetes Platform.
- строкаapiVersion
Определяет версионированную схему этого представления объекта. Серверы должны преобразовывать распознанные схемы в последнее внутреннее значение и могут отклонять нераспознанные значения.
Больше информации в документации Kubernetes.
- строкаkind
Значение представляет REST-ресурс, который описывает данный объект. Серверы могут определить его по эндпоинту, к которому клиент отправляет запросы. Не может быть изменено. Используется в CamelCase.
Больше информации в документации Kubernetes.
- объектmetadata
- объектspec
Обязательный параметр
Определяет конфигурацию репозитория пакетов.
- объектspec.registry
Обязательный параметр
Конфигурация для доступа к хранилищу образов контейнеров с пакетами.
- строкаspec.registry.ca
Корневой сертификат (в формате PEM), которым можно проверить сертификат хранилища образов контейнеров при работе по HTTPS (если хранилище образов контейнеров использует самоподписанные SSL-сертификаты).
- строкаspec.registry.dockerCfg
Строка с токеном доступа к хранилищу образов контейнеров в Base64 (формат
~/.docker/config.json). В случае анонимного доступа к хранилищу образов контейнеров не заполняйте это поле. - строкаspec.registry.login
Имя пользователя для аутентификации в хранилище образов контейнеров.
- строкаspec.registry.password
Пароль для аутентификации в хранилище образов контейнеров.
- строкаspec.registry.repo
Обязательный параметр
Адрес репозитория пакетов в хранилище образов контейнеров.
- строкаspec.registry.scheme
Протокол для доступа к репозиторию (например,
https).
- строкаspec.scanInterval
Интервал сканирования хранилища образов контейнеров.
Определяет частоту проверки хранилища образов контейнеров на наличие новых пакетов.
По умолчанию:
6hШаблон:
^(\d+h)?(\d+m)?(\d+s)?$Примеры:
scanInterval: 5mscanInterval: 1hscanInterval: 6h30m
- объектstatus
Статус репозитория пакетов.
- массив объектовstatus.conditions
Условия, отражающие последние наблюдения за состоянием репозитория.
Условие, описывающее один аспект текущего состояния репозитория.
- строкаstatus.conditions.lastTransitionTime
Обязательный параметр
Время последнего перехода условия из одного статуса в другой.
- строкаstatus.conditions.message
Обязательный параметр
Сообщение с деталями перехода. Может быть пустым.
Максимальная длина:
32768 - целочисленныйstatus.conditions.observedGeneration
Значение
.metadata.generation, на котором было установлено условие. Позволяет определить актуальность условия для текущего состояния ресурса.Допустимые значения:
0 <= X - строкаstatus.conditions.reason
Обязательный параметр
Программный идентификатор причины последнего перехода условия.
Шаблон:
^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$Длина:
1..1024 - строкаstatus.conditions.status
Обязательный параметр
Статус условия. Может быть
True,FalseилиUnknown.Допустимые значения:
True,False,Unknown - строкаstatus.conditions.type
Обязательный параметр
Тип условия репозитория в CamelCase или в формате
foo.example.com/CamelCase.Шаблон:
^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$Максимальная длина:
316
- строкаstatus.lastChangeTime
Время последнего сканирования, нашедшего хотя бы одну новую версию. Сканирования, не нашедшие нового, это значение не обновляют.
- целочисленныйstatus.lastNewVersions
Количество новых версий, найденных последним сканированием. Равно нулю, если последнее сканирование не нашло ничего нового.
- строкаstatus.lastScanTime
Время последнего сканирования с любым результатом.
- строкаstatus.message
Человеко-читаемое сообщение о статусе репозитория.
- массив объектовstatus.packages
Список пакетов, доступных в этом репозитории.
- строкаstatus.packages.name
Обязательный параметр
Название пакета.
- строкаstatus.packages.type
Обязательный параметр
Тип пакета.
- целочисленныйstatus.packagesCount
Общее количество пакетов в этом репозитории.
- булевый
Указывает, поддерживает ли хранилище образов контейнеров пагинацию при получении списка тегов.
- строкаstatus.phase
Текущая фаза репозитория.
PackageRepositoryOperation
Short names: pro
Scope: Cluster
Version: v1alpha1
PackageRepositoryOperation представляет операцию по сканированию/обновлению репозитория пакетов.
- строкаapiVersion
Определяет версионированную схему этого представления объекта. Серверы должны преобразовывать распознанные схемы в последнее внутреннее значение и могут отклонять нераспознанные значения.
Больше информации в документации Kubernetes.
- строкаkind
Значение представляет REST-ресурс, который описывает данный объект. Серверы могут определить его по эндпоинту, к которому клиент отправляет запросы. Не может быть изменено. Используется в CamelCase.
Больше информации в документации Kubernetes.
- объектmetadata
- объектspec
Обязательный параметр
Определяет параметры операции над репозиторием пакетов.
- строкаspec.packageRepositoryName
Обязательный параметр
Название репозитория пакетов для выполнения операции.
- строкаspec.type
Обязательный параметр
Тип выполняемой операции.
Допустимые значения:
Update - объектspec.update
Конфигурация для операций обновления.
- булевыйspec.update.fullScan
Выполнять ли полное сканирование репозитория.
- строкаspec.update.timeout
Таймаут для операции.
- объектstatus
Статус операции над репозиторием пакетов.
- строкаstatus.completionTime
Время завершения операции.
- массив объектовstatus.conditions
Условия, отражающие последние наблюдения за состоянием операции. Фаза операции определяется по условию
Completed: пока оно имеет статусFalse, операция находится в одной из промежуточных фаз (Discover,Processing); при статусеTrueоперация завершена с причинойSucceededилиFailed.Условие, описывающее один аспект текущего состояния операции.
- строкаstatus.conditions.lastTransitionTime
Обязательный параметр
Время последнего перехода условия из одного статуса в другой.
- строкаstatus.conditions.message
Обязательный параметр
Сообщение с деталями перехода.
Максимальная длина:
32768 - целочисленныйstatus.conditions.observedGeneration
Значение
.metadata.generation, на котором было установлено условие. Позволяет определить актуальность условия для текущего состояния ресурса.Допустимые значения:
0 <= X - строкаstatus.conditions.reason
Обязательный параметр
Программный идентификатор причины последнего перехода условия. Для условия
Completedиспользуются значения:Discover,Processing,Succeeded,Failed.Шаблон:
^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$Длина:
1..1024 - строкаstatus.conditions.status
Обязательный параметр
Статус условия. Может быть
True,FalseилиUnknown.Допустимые значения:
True,False,Unknown - строкаstatus.conditions.type
Обязательный параметр
Тип условия. Для данного ресурса используется условие
Completed, которое отражает, достигнута ли терминальная фаза операции.Шаблон:
^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$Максимальная длина:
316
- объектstatus.packages
Информация о пакетах, обработанных во время операции.
- массив объектовstatus.packages.discovered
Список пакетов, обнаруженных во время операции.
- строкаstatus.packages.discovered.name
Обязательный параметр
Название обнаруженного пакета.
- массив объектовstatus.packages.failed
Список пакетов, обработка которых не удалась.
- массив объектовstatus.packages.failed.errors
Обязательный параметр
Список ошибок, возникших при обработке этого пакета.
- строкаstatus.packages.failed.errors.message
Обязательный параметр
Сообщение об ошибке.
- строкаstatus.packages.failed.errors.version
Обязательный параметр
Версия пакета, при обработке которой возникла ошибка.
- строкаstatus.packages.failed.name
Обязательный параметр
Название пакета, обработка которого не удалась.
- целочисленныйstatus.packages.newVersionsOverall
Общее количество новых версий по всем пакетам в рамках операции.
Версия считается новой, если её
ApplicationPackageVersionилиModulePackageVersionотсутствовал в кластере, либо (только дляApplicationPackageVersion) имел пометку «нет в реестре» и его образ был найден в реестре в рамках этой операции. - массив объектовstatus.packages.processed
Список успешно обработанных пакетов.
- целочисленныйstatus.packages.processed.foundVersions
Количество версий, найденных в рамках данной операции.
- строкаstatus.packages.processed.name
Обязательный параметр
Название обработанного пакета.
- целочисленныйstatus.packages.processed.newVersions
Количество новых версий в рамках данной операции.
Версия считается новой, если её
ApplicationPackageVersionилиModulePackageVersionотсутствовал в кластере, либо (только дляApplicationPackageVersion) имел пометку «нет в реестре» и его образ был найден в реестре в рамках этой операции. - строкаstatus.packages.processed.type
Тип пакета.
- целочисленныйstatus.packages.processedOverall
Общее количество обработанных пакетов.
- целочисленныйstatus.packages.total
Общее количество найденных пакетов.
- строкаstatus.startTime
Время начала операции.
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
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