ClusterConfiguration

Version: deckhouse.io/v1

Общие параметры кластера.

Определяют, например, сетевые параметры, параметры CRI, версию control plane и т. д. Некоторые параметры можно изменять после развертывания кластера, во время его работы.

Чтобы изменить содержимое ресурса ClusterConfiguration в работающем кластере, выполните следующую команду:

d8 platform edit cluster-configuration

Пример:

apiVersion: deckhouse.io/v1
kind: ClusterConfiguration
podSubnetNodeCIDRPrefix: '24'
podSubnetCIDR: 10.244.0.0/16
serviceSubnetCIDR: 192.168.0.0/16
kubernetesVersion: '1.29'
clusterDomain: k8s.internal
clusterType: Cloud
cloud:
  prefix: k8s-dev
  provider: Yandex
proxy:
  httpProxy: https://user:password@proxy.company.my:8443
  httpsProxy: https://user:password@proxy.company.my:8443
  noProxy:
  - company.my
  • apiVersion
    строка

    Обязательный параметр

    Используемая версия API Deckhouse.

    Допустимые значения: deckhouse.io/v1, deckhouse.io/v1alpha1

  • cloud
    объект

    Параметры облачного провайдера (если используется 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 и новее;
    • systemd версии 244 и новее;
    • поддержка модуля ядра erofs.

    По умолчанию: Containerd

    Допустимые значения: Containerd, ContainerdV2, NotManaged

  • encryptionAlgorithm
    строка

    В Kubernetes версии 1.30 и ниже поддерживается только RSA-2048 алгоритм.

    Начиная с версии 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.29, 1.30, 1.31, 1.32, 1.33, Automatic

  • podSubnetCIDR
    строка

    Обязательный параметр

    Адресное пространство Pod’ов кластера.

    Внимание! Смена параметра в уже развернутом кластере невозможна в обычном режиме. Чтобы обойти это ограничение, используйте специальный флаг.

  • podSubnetNodeCIDRPrefix
    строка

    Префикс сети Pod’ов на узле.

    Внимание! Смена параметра в уже развернутом кластере невозможна в обычном режиме. Чтобы обойти это ограничение, используйте специальный флаг.

    По умолчанию: 24

  • proxy
    объект

    Доступно в редакциях: BE, SE, SE+, EE, CSE Lite (1.67), CSE Pro (1.67)

    Глобальная настройка proxy-сервера (в основном для работы в закрытых окружениях).

    Описанные в этой секции параметры будут транслированы в переменные окружения HTTP_PROXY, HTTPS_PROXY и NO_PROXY для всех узлов кластера и компонентов Deckhouse. Это приведёт к тому, что HTTP(S) запросы (например, при выполнении curl, git и т. д.) ко всем не указанным в параметре noProxy ресурсам будут выполняться через прокси. Подсети podSubnetCIDR, serviceSubnetCIDR и домен clusterDomain добавляются в noProxy автоматически.

    Внимание! Чтобы избежать использования прокси в запросах между подами кластера и сервисами расположенными в сети узлов кластера, заполните параметр noProxy списком подсетей, которые используются на узлах.

    • proxy.httpProxy
      строка

      Доступно в редакциях: BE, SE, SE+, EE, CSE Lite (1.67), CSE Pro (1.67)

      URL proxy-сервера для HTTP-запросов.

      При необходимости укажите имя пользователя, пароль и порт proxy-сервера.

      Шаблон: ^https?://([!*'();&=+$,/?%#\[\]0-9a-zA-Z\.\-\_]+(\:[!*'();:@&=+$,/?%#\[\]0-9a-zA-Z\.\-\_]+)?@)?[0-9a-zA-Z\.\-]+(\:[0-9]{1,5})?$

      Примеры:

      httpProxy: http://proxy.company.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.67), CSE Pro (1.67)

      URL proxy-сервера для HTTPS-запросов.

      При необходимости укажите имя пользователя, пароль и порт proxy-сервера.

      Шаблон: ^https?://([!*'();&=+$,/?%#\[\]0-9a-zA-Z\.\-\_]+(\:[!*'();:@&=+$,/?%#\[\]0-9a-zA-Z\.\-\_]+)?@)?[0-9a-zA-Z\.\-]+(\:[0-9]{1,5})?$

      Примеры:

      httpsProxy: http://proxy.company.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.67), CSE Pro (1.67)

      Список IP и доменных имен, для которых проксирование не применяется.

      Для настройки wildcard-доменов используйте написание вида “.example.com”.

      Внимание. Если в кластере предполагается взаимодействие подов с сервисами, размещенными в сети узлов кластера, то укажите список подсетей, которые используются на узлах.

      • Элемент массива
        строка

        Шаблон: ^[a-z0-9\-\./]+$

  • serviceSubnetCIDR
    строка

    Обязательный параметр

    Адресное пространство для service’ов кластера.

    Внимание! Смена параметра в уже развернутом кластере невозможна в обычном режиме. Чтобы обойти это ограничение, используйте специальный флаг.

DeckhouseRelease

Scope: Cluster
Version: v1alpha1

Определяет конфигурацию релизов Deckhouse.

  • approved
    булевый

    Разрешает или запрещает ручное обновление.

    Игнорируется, если в конфигурации модуля установлен режим обновления Auto (update.mode: Auto).

    По умолчанию: false

  • spec
    объект

    Обязательный параметр

    • spec.applyAfter
      строка

      Время, до которого отложено обновление, если релиз является частью canary-release.

    • spec.changelog
      объект

      Изменения включенных модулей в данном релизе.

    • строка

      Ссылка на страницу со всеми изменениями данного релиза.

    • spec.disruptions
      Параметр устарел
      массив строк

      Изменения в релизе, которые могут привести к кратковременному простою в работе системных компонентов.

    • spec.requirements
      объект

      Требования для установки релиза.

    • spec.version
      строка

      Обязательный параметр

      Версия Deckhouse.

      Пример:

      version: v1.24.20
      

InitConfiguration

Version: deckhouse.io/v1

Конфигурация Deckhouse, с которой он запустится после установки.

Пример:

apiVersion: deckhouse.io/v1
kind: InitConfiguration
deckhouse:
  imagesRepo: nexus.company.my/deckhouse/ee
  registryDockerCfg: eyJhdXRocyI6IHsgIm5leHVzLmNvbXBhbnkubXkiOiB7InVzZXJuYW1lIjoibmV4dXMtdXNlciIsInBhc3N3b3JkIjoibmV4dXMtcEBzc3cwcmQiLCJhdXRoIjoiYm1WNGRYTXRkWE5sY2pwdVpYaDFjeTF3UUhOemR6QnlaQW89In19fQo=
  registryScheme: HTTPS
  registryCA: |
    -----BEGIN CERTIFICATE-----
    ...
    -----END CERTIFICATE-----
  • apiVersion
    строка

    Обязательный параметр

    Используемая версия API Deckhouse.

    Допустимые значения: deckhouse.io/v1, deckhouse.io/v1alpha1

  • deckhouse
    объект

    Обязательный параметр

    Параметры, необходимые для установки Deckhouse.

    • deckhouse.devBranch
      Параметр устарел
      строка

      Параметр используется для нужд разработки. Будет заменен на аргумент CLI-команды.

    • deckhouse.imagesRepo
      строка

      Адрес container registry с образами Deckhouse.

      Укажите, если используется редакция Enterprise Edition Deckhouse или сторонний container registry (например, прокси-сервер в закрытом окружении).

      Адрес учитывает используемую редакцию Deckhouse. Публичный адрес container registry для Deckhouse Enterprise Edition — registry.deckhouse.io/deckhouse/ee.

      По умолчанию: registry.deckhouse.io/deckhouse/ce

      Шаблон: ^[0-9a-zA-Z\.\-]+(\:[0-9]{1,5})?(\/[0-9a-zA-Z\.\-\_\/]+)?$

    • deckhouse.registryCA
      строка

      Корневой сертификат, которым можно проверить сертификат container registry при работе по HTTPS (если registry использует самоподписанные SSL-сертификаты).

    • deckhouse.registryDockerCfg
      строка

      Строка авторизации из файла конфигурации Docker-клиента (в Linux обычно это $HOME/.docker/config.json) для доступа к стороннему container registry, закодированная в Base64.

      Например, для доступа к container registry registry.company.my под пользователем user с паролем P@ssw0rd это будет eyJhdXRocyI6eyJyZWdpc3RyeS5jb21wYW55Lm15Ijp7ImF1dGgiOiJkWE5sY2pwUVFITnpkekJ5WkFvPSJ9fX0K (строка {"auths":{"registry.company.my":{"auth":"dXNlcjpQQHNzdzByZAo="}}} в Base64).

      По умолчанию: eyJhdXRocyI6IHsgInJlZ2lzdHJ5LmRlY2tob3VzZS5pbyI6IHt9fX0=

    • deckhouse.registryScheme
      строка

      Протокол доступа к container registry (HTTP или HTTPS).

      По умолчанию: HTTPS

      Допустимые значения: HTTP, HTTPS

  • kind
    строка

    Обязательный параметр

    Допустимые значения: InitConfiguration

Module

Scope: Cluster
Version: v1alpha1

Описывает состояние модуля в кластере. Объект Module будет создан автоматически после настройки источника модулей (ModuleSource) и успешной синхронизации.

  • properties
    объект
    • properties.accessibility
      объект

      Module accessibility settings.

      • properties.accessibility.editions
        объект

        Module operation settings in Deckhouse editions.

    • properties.availableSources
      массив строк

      Доступные источники для скачивания модуля.

    • properties.critical
      булевый

      Является ли модуль критичным.

    • properties.disableOptions
      объект

      Параметры защиты от отключения модуля.

      • properties.disableOptions.confirmation
        булевый
      • properties.disableOptions.message
        строка
    • properties.exclusiveGroup
      строка

      Принадлежность модуля к группе, где может быть активен только один модуль.

    • properties.namespace
      строка

      Пространство имен в котором работает модуль.

    • properties.releaseChannel
      строка

      Релизный канал модуля.

    • properties.requirements
      объект

      Зависимости модуля — набор условий, которые должны выполняться чтобы Deckhouse Kubernetes Platform (DKP) мог запустить модуль.

      • properties.requirements.bootstrapped
        строка

        Требование к статусу установки кластера (только для встроенных модулей DKP).

      • properties.requirements.deckhouse
        строка

        Требование к версии Deckhouse.

      • properties.requirements.kubernetes
        строка

        Требование к версии Kubernetes.

      • properties.requirements.modules
        объект

        Список других включенных модулей, которые необходимы для работы модуля.

    • properties.source
      строка

      Источник, из которого скачан модуль (иначе пусто).

    • properties.stage
      строка

      Текущая стадия жизненного цикла модуля.

    • properties.subsystems
      массив строк

      Подсистемы в которые входит модуль.

    • properties.updatePolicy
      строка

      Имя политики обновления модуля.

    • properties.version
      строка

      Версия модуля.

    • properties.weight
      целочисленный

      Вес (приоритет) модуля.

ModuleConfig

Scope: Cluster
Version: v1alpha1

Определяет конфигурацию модуля Deckhouse. Название ресурса 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.

        При перезапуске Deckhouse модуль единовременно применяет последнее состояние, после чего продолжает работу в автономном режиме.

      Допустимые значения: NoResourceReconciliation

      Пример:

      maintenance: NoResourceReconciliation
      
    • spec.settings
      объект

      Настройки модуля.

    • spec.source
      строка

      Источник, из которого будет скачан модуль.

    • spec.updatePolicy
      строка

      Политика обновления модуля.

      Пример:

      updatePolicy: test-alpha
      
    • spec.version
      число

      Версия схемы настроек модуля.

      Пример:

      version: '1'
      

ModuleDocumentation

Scope: Cluster
Version: v1alpha1

Определяет конфигурацию рендеринга документации модуля Deckhouse.

Ресурсы ModuleDocumentation создает Deckhouse.

  • spec
    объект

    Обязательный параметр

    • spec.checksum
      строка

      Контрольная сумма версии модуля.

    • spec.path
      строка

      Путь к версии модуля.

    • spec.version
      строка

      Обязательный параметр

      Версия модуля.

      Пример:

      version: v1.0.0
      

ModulePullOverride

Scope: Cluster

Определяет конфигурацию ресурса для скачивания конкретных версий модулей Deckhouse.

Важно. Ресурс предназначен только для использования в средах разработки и отладки. Его применение в production-кластерах не рекомендуется. Поддержка ресурса может быть исключена в следующих версиях Deckhouse Kubernetes Platform.

  • spec
    объект

    Обязательный параметр

    • spec.imageTag
      строка

      Обязательный параметр

      Тег образа контейнера модуля, который будет скачан и установлен.

    • spec.rollback
      булевый

      Определение необходимости восстановления модуля из релиза, если объект ModulePullOverride удалён.

      По умолчанию: false

    • spec.scanInterval
      строка

      Интервал сканирования для проверки изменения образа контейнера. Если образ изменился, модуль будет обновлен.

      По умолчанию: 15s

Устаревший ресурс. Поддержка ресурса может быть исключена в следующих версиях.

Определяет конфигурацию ресурса для скачивания конкретных версий модулей Deckhouse.

  • spec
    объект

    Обязательный параметр

    • spec.imageTag
      строка

      Обязательный параметр

      Тег образа контейнера модуля, который будет скачан и установлен.

    • spec.rollback
      булевый

      Indicates whether the module release should be rollback after deleting ModulePullOverride.

      По умолчанию: false

    • spec.scanInterval
      строка

      Интервал сканирования для проверки изменения образа контейнера. Если образ изменился, модуль будет обновлен.

      По умолчанию: 15s

    • spec.source
      строка

      Обязательный параметр

      Ссылка на объект ModuleSource модуля.

ModuleRelease

Scope: Cluster
Version: v1alpha1

Определяет конфигурацию релизов модулей Deckhouse.

Ресурсы ModuleRelease создаёт Deckhouse.

  • spec
    объект

    Обязательный параметр

    • spec.applyAfter
      строка

      Время, до которого отложено обновление.

    • spec.changelog
      объект

      Список изменений модуля в данном релизе.

    • spec.moduleName
      строка

      Обязательный параметр

      Название модуля.

    • spec.requirements
      объект

      Зависимости релиза — набор условий, которые должны выполняться чтобы Deckhouse Kubernetes Platform мог запустить эту версию модуля.

      • spec.requirements.deckhouse
        строка

        Требование к версии Deckhouse.

      • spec.requirements.kubernetes
        строка

        Требование к версии Kubernetes.

      • spec.requirements.modules
        объект

        Список других модулей, которые необходимы для этой версии модуля (должны быть включены).

    • spec.update
      объект

      Необязательные параметры обновления.

      • spec.update.versions
        массив объектов

        Список правил перехода 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
      целочисленный

      Вес (приоритет) модуля.

ModuleSettingsDefinition

Scope: Cluster
Version: v1alpha1

Отображает настройки модулей Deckhouse. Определяет список версий настроек модуля.

  • spec
    объект

    Обязательный параметр

    Спецификация настроек модуля.

    • spec.versions
      массив объектов

      Список версий настроек модуля. Каждая версия включает имя и схему.

      • spec.versions.conversions
        массив объектов

        Список правил конверсий для данной версии.

        Одно правило конверсии с выражениями и описаниями.

        • spec.versions.conversions.descriptions
          объект

          Локализованные описания конверсии.

          • spec.versions.conversions.descriptions.en
            строка

            Английское описание конверсии.

          • spec.versions.conversions.descriptions.ru
            строка

            Русское описание конверсии.

        • spec.versions.conversions.expr
          массив строк

          Массив jq выражений для преобразования настроек.

      • spec.versions.name
        строка

        Обязательный параметр

        Версия настроек модуля.

      • spec.versions.schema
        объект

        Схема настроек для данной версии модуля.

ModuleSource

Scope: Cluster
Version: v1alpha1

Определяет конфигурацию источника модулей Deckhouse.

Пример:

apiVersion: deckhouse.io/v1alpha1
kind: ModuleSource
metadata:
  name: example
spec:
  registry:
    repo: registry.example.io/modules-source
    dockerCfg: "<base64 encoded credentials>"
  • spec
    объект

    Обязательный параметр

    • spec.registry
      объект

      Обязательный параметр

      • spec.registry.ca
        строка

        Корневой сертификат (В формате PEM), которым можно проверить сертификат registry при работе по HTTPS (если registry использует самоподписанные SSL-сертификаты).

        Создание ресурса ModuleSource с указанием корневого сертификата, приведет к перезапуску containerd на всех узлах кластера.

      • spec.registry.dockerCfg
        строка

        Строка с токеном доступа к container registry в Base64. В случае использования анонимного доступа к container registry не заполняйте это поле.

      • spec.registry.repo
        строка

        Обязательный параметр

        Адрес репозитория образов контейнеров.

        Пример:

        repo: registry.example.io/deckhouse/modules
        
      • spec.registry.scheme
        строка

        Протокол для доступа к репозиторию контейнеров.

        По умолчанию: HTTPS

        Допустимые значения: HTTP, HTTPS

    • spec.releaseChannel
      Параметр устарел
      строка

      Желаемый канал обновлений по умолчанию для модулей данного container registry.

ModuleUpdatePolicy

Scope: Cluster

Определяет режим и настройки обновления модуля.

Пример:

apiVersion: deckhouse.io/v1alpha2
kind: ModuleUpdatePolicy
metadata:
  name: example-update-policy
spec:
  releaseChannel: Alpha
  update:
    mode: Auto
    windows:
    - days:
      - Mon
      - Wed
      from: '13:30'
      to: '14:00'
  • spec
    объект

    Обязательный параметр

    • spec.releaseChannel
      строка

      Желаемый канал обновления модуля.

      Порядок возрастания стабильности канала обновлений (от наименее стабильного к наиболее стабильному): Alpha, Beta, EarlyAccess, Stable, RockSolid.

      По умолчанию: Stable

      Допустимые значения: Alpha, Beta, EarlyAccess, Stable, RockSolid

    • spec.update
      объект

      Обязательный параметр

      Режим и настройки обновления модуля.

      • spec.update.mode
        строка

        Режим обновления версий модуля.

        • AutoPatch — автоматический режим обновления для патч-версий.

          Для обновления минорной версии (например, с v1.15.* на v1.16.*) необходимо подтверждение.

          Обновление патч-версии (например, с v1.16.1 на v1.16.2) применяется с учетом окон обновлений, если они заданы.

        • Auto (автоматический) — все обновления применяются автоматически.

          Обновления минорной версии (например, с v1.15.* на v1.16.*) и патч-версии (например, с v1.16.1 на v1.16.2) применяются с учетом заданных окон обновлений, либо, если окна обновлений не заданы, по мере появления обновлений на соответствующем канале обновлений.

        • Manual (ручной) — для обновления и минорной, и патч-версии необходимо подтверждение.

        Для подтверждения обновления установите аннотацию modules.deckhouse.io/approved="true" в соответствующем ресурсе ModuleRelease.

        По умолчанию: Auto

        Допустимые значения: Auto, Manual, AutoPatch

      • spec.update.windows
        массив объектов

        Расписание окон обновления модуля.

        • spec.update.windows.days
          массив строк

          Дни недели, в которые применяется окно обновлений.

          Примеры:

          days: 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'
          

StaticClusterConfiguration

Version: deckhouse.io/v1

Параметры статического (bare metal) кластера.

Чтобы изменить содержимое ресурса StaticClusterConfiguration в работающем кластере, выполните следующую команду:

d8 p edit static-cluster-configuration

Пример:

apiVersion: deckhouse.io/v1
kind: StaticClusterConfiguration
internalNetworkCIDRs:
- 10.244.0.0/16
- 10.50.0.0/16
  • apiVersion
    строка

    Обязательный параметр

    Используемая версия API Deckhouse.

    Допустимые значения: deckhouse.io/v1, deckhouse.io/v1alpha1

  • internalNetworkCIDRs
    массив строк

    Список внутренних сетей узлов кластера.

    Внутренние сети используются для связи компонентов Kubernetes (kube-apiserver, kubelet и т. д.) между собой.

    Параметр обязателен к заполнению, если:

    • Узлы кластера имеют более одного сетевого интерфейса
    • Развертывание кластера происходит внутри Deckhouse Virtualization Platform

    При смене значения, в список подсетей должны подпадать существующие адреса узлов кластера.

    Пример:

    internalNetworkCIDRs:
    - 192.168.42.0/24
    - 172.16.16.0/24
    
    • Элемент массива
      строка

      Шаблон: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\/(3[0-2]|[1-2][0-9]|[0-9]))$

  • kind
    строка

    Обязательный параметр

    Допустимые значения: StaticClusterConfiguration

SSHConfig

Version: dhctl.deckhouse.io/v1

Конфигурация SSH для dhctl.

Пример:

apiVersion: dhctl.deckhouse.io/v1
kind: SSHConfig
sshUser: user
sshPort: 22
sshExtraArgs: "-vvv"
sshAgentPrivateKeys:
- key: "<ssh-private-key>"
  • apiVersion
    строка

    Версия Deckhouse API.

    Допустимые значения: dhctl.deckhouse.io/v1

  • kind
    строка

    Допустимые значения: SSHConfig

  • legacyMode
    булевый

    Switch to legacy SSH mode

  • 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