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
    объект

    Параметры облачного провайдера (если используется clusterType Cloud).

    • 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:

    • apiserver
    • apiserver-kubelet-client
    • apiserver-etcd-client
    • front-proxy-client
    • etcd-server
    • etcd-peer
    • etcd-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.my
      
      httpProxy: https://user:password@proxy.company.my:8443
      
      httpProxy: https://DOMAIN%5Cuser:password@proxy.company.my:8443
      
      httpProxy: 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.my
      
      httpsProxy: https://user:password@proxy.company.my:8443
      
      httpsProxy: https://DOMAIN%5Cuser:password@proxy.company.my:8443
      
      httpsProxy: 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.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
        массив объектов

        Список правил перехода fromto, позволяющих пропускать пошаговые обновления. Если текущая установленная версия модуля (статус 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: 5m
      
      scanInterval: 1h
      
      scanInterval: 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: Mon
          
          days: 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: Mon
          
          days: 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: 5m
      
      scanInterval: 1h
      
      scanInterval: 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.partialScanAvailable
      булевый

      Указывает, поддерживает ли хранилище образов контейнеров пагинацию при получении списка тегов.

    • 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