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’ов кластера.

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