Описание ресурсов, используемых при установке Deckhouse.

Не изменяйте параметры serviceSubnetCIDR, podSubnetNodeCIDRPrefix, podSubnetCIDR в работающем кластере. Если изменение параметров необходимо — разверните новый кластер.

ClusterConfiguration

Version: deckhouse.io/v1

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

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

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

kubectl -n d8-system exec -ti svc/deckhouse-leader -c deckhouse -- deckhouse-controller edit cluster-configuration

Пример:

apiVersion: deckhouse.io/v1
kind: ClusterConfiguration
podSubnetNodeCIDRPrefix: '24'
podSubnetCIDR: 10.244.0.0/16
serviceSubnetCIDR: 192.168.0.0/16
kubernetesVersion: '1.27'
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

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

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

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

  • kind
    строка

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

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

  • kubernetesVersion
    строка

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

    Версия control plane кластера Kubernetes.

    Изменение параметра в работающем кластере приведет к автоматическому обновлению версии control plane кластера.

    Если указано Automatic, то используется версия control plane, которая считается стабильной на данный момент. Если стабильная версия control plane меньше максимальной, которая когда либо была установлена в кластере, больше чем на 1 минорную версию - тогда версия кластера не изменится. Изменение этой версии может произойти при смене минорной версии релиза Deckhouse (см. список изменений к релизу).

    Допустимые значения: 1.27, 1.28, 1.29, 1.30, 1.31, Automatic

  • podSubnetCIDR
    строка

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

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

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

  • podSubnetNodeCIDRPrefix
    строка

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

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

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

  • proxy
    объект

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

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

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

    Доступно только в enterprise edition.

    • proxy.httpProxy
      строка

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

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

      Доступно только в enterprise edition.

      Шаблон: ^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
      строка

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

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

      Доступно только в enterprise edition.

      Шаблон: ^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
      массив строк

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

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

      Доступно только в enterprise edition.

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

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

  • serviceSubnetCIDR
    строка

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

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

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

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

StaticClusterConfiguration

Version: deckhouse.io/v1

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

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

kubectl -n d8-system exec -ti svc/deckhouse-leader -c deckhouse -- deckhouse-controller edit static-cluster-configuration

Пример:

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

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

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

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

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

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

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

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

    • Узлы кластера имеют более одного сетевого интерфейса
    • Развертывание кластера происходит внутри 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