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

ClusterConfiguration

Version: deckhouse.io/v1

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

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

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

kubectl -n d8-system exec -ti deploy/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.23'
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

  • clusterDomainстрока

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

    Домен кластера (используется для маршрутизации внутри кластера).

    По умолчанию: "cluster.local"

  • clusterTypeстрока

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

    Тип инфраструктуры кластера:

    • Static — кластер bare metal (физические серверы);
    • Cloud — кластер, развернутый на ресурсах облачного провайдера.

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

  • defaultCRIстрока

    Тип container runtime, используемый на узлах уластера (в NodeGroup’ах) по умолчанию.

    Если используется значение NotManaged, то Deckhouse не будет управлять (устанавливать и настраивать) container runtime. В этом случае образы, используемые в NodeGroup’ах, должны содержать уже установленный container runtime.

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

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

  • kindстрока

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

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

  • kubernetesVersionстрока

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

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

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

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

    Допустимые значения: 1.22, 1.23, 1.24, 1.25, 1.26, Automatic

  • podSubnetCIDRстрока

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

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

  • podSubnetNodeCIDRPrefixстрока

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

    Внимание! Не меняйте параметр в уже развернутом кластере.

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

  • proxyобъект

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

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

    • proxy.httpProxyстрока

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

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

      Шаблон: ^https?://[0-9a-zA-Z\.\-:@]+$

      Примеры:

      httpProxy: http://proxy.company.my
      
      httpProxy: https://user:password@proxy.company.my:8443
      
    • proxy.httpsProxyстрока

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

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

      Шаблон: ^https?://[0-9a-zA-Z\.\-:@]+$

      Примеры:

      httpsProxy: http://proxy.company.my
      
      httpsProxy: https://user:password@proxy.company.my:8443
      
    • proxy.noProxyмассив строк

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

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

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

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

  • serviceSubnetCIDRстрока

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

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

InitConfiguration

Version: deckhouse.io/v1

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

Пример:

apiVersion: deckhouse.io/v1
kind: InitConfiguration
releaseChannel: Stable
imagesRepo: nexus.company.my/deckhouse/ee
registryDockerCfg: eyJhdXRocyI6IHsgIm5leHVzLmNvbXBhbnkubXkiOiB7InVzZXJuYW1lIjoibmV4dXMtdXNlciIsInBhc3N3b3JkIjoibmV4dXMtcEBzc3cwcmQiLCJhdXRoIjoiYm1WNGRYTXRkWE5sY2pwdVpYaDFjeTF3UUhOemR6QnlaQW89In19fQo=
registryScheme: HTTPS
registryCA: |
  -----BEGIN CERTIFICATE-----
  ...
  -----END CERTIFICATE-----
configOverrides:
  global:
    modules:
      publicDomainTemplate: "%s.kube.company.my"
  cniFlannelEnabled: true
  cniFlannel:
    podNetworkMode: VXLAN
  • apiVersionстрока

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

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

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

  • deckhouseобъект

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

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

    • deckhouse.bundleстрока

      Устанавливаемый в кластере вариант поставки Deckhouse.

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

      Допустимые значения: Minimal, Managed, Default

    • deckhouse.configOverridesобъект

      Начальная конфигурация Deckhouse.

      Структура, указанная в параметре, будет перенесена в ConfigMap deckhouse (в пространстве имен d8-system) без изменений.

      Укажите здесь любые параметры конфигурации Deckhouse, с которыми он должен запуститься после установки.

    • deckhouse.devBranchстрока
    • 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"

    • deckhouse.logLevelстрока

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

      Допустимые значения: Debug, Info, Error

    • deckhouse.registryCAстрока

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

    • deckhouse.registryDockerCfgстрока

      Строка с правами доступа к стороннему registry, зашифрованная в Base64.

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

    • deckhouse.registrySchemeстрока

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

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

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

    • deckhouse.releaseChannelстрока

      Устанавливаемый в кластере канал обновлений Deckhouse.

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

  • kindстрока

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

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

StaticClusterConfiguration

Version: deckhouse.io/v1

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

Пример:

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 и т.д.) между собой.

    Если каждый узел в кластере имеет только один сетевой интерфейс, то параметр можно не указывать и ресурс StaticClusterConfiguration можно не создавать.

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

      Шаблон: ^(([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]))$

      Пример:

      192.168.42.0/24
      
  • kindстрока

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

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