Управление компонентами control plane кластера осуществляется с помощью модуля control-plane-manager, а параметры кластера, влияющие на управление control plane, берутся из данных первичной конфигурации кластера (параметр cluster-configuration.yaml секрета d8-cluster-configuration в namespace kube-system), которая создается при инсталляции.

Модуль по умолчанию включен. Выключить можно стандартным способом:

controlPlaneManagerEnabled: "false"

Параметры

  • apiserverобъект

    Параметры kube-apiserver.

    • auditPolicyEnabledбулевый

      Включение аудита событий с конфигурацией из Secret (audit-policy в ns kube-system).

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

    • authnобъект

      Опциональные параметры аутентификации клиентов Kubernetes API. По умолчанию подтягиваются из ConfigMap, устанавливаемого модулем user-authn

      • oidcCAстрока

        CA OIDC-провайдера.

      • oidcIssuerAddressстрока

        Сетевой адрес OIDC-провайдера.

        Примеры:

        oidcIssuerAddress: 1.2.3.4
        
        oidcIssuerAddress: ''
        
      • oidcIssuerURLстрока

        URL OIDC-провайдера.

        Пример:

        oidcIssuerURL: https://my-super-site.tech/
        
      • webhookCAстрока

        CA аутентификационного webhook’a.

      • webhookURLстрока

        URL аутентификационного webhook’а.

        Пример:

        webhookURL: https://127.0.0.1:40443/
        
    • authzобъект

      Параметры авторизации клиентов Kubernetes API. По умолчанию подтягиваются из ConfigMap, устанавливаемого модулем user-authz

      • webhookCAстрока

        CA авторизациионного webhook’a.

      • webhookURLстрока

        URL авторизациионного webhook’а.

        Пример:

        webhookURL: https://127.0.0.1:40443/
        
    • bindToWildcardбулевый

      Cлушать ли на 0.0.0.0.

      По умолчанию API-сервер слушает на hostIP, который обычно соответствует Internal адресу узла, но это зависит от типа кластера (Static или Cloud) и выбранной схемы размещения (layout).

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

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

      Массив строк, список дополнительных SANs, с которыми будет сгенерирован сертификат API-сервера.

      Кроме переданного списка, всегда используется и следующий список:

      • kubernetes
      • kubernetes.default
      • kubernetes.default.svc
      • kubernetes.default.svc.cluster.local
      • 192.168.0.1
      • 127.0.0.1
      • текущий_hostname
      • hostIP

      Пример:

      certSANs:
      - my-site.com
      - 192.168.67.76
      

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

    • loadBalancerобъект

      Если указано, будет создан сервис с типом LoadBalancer (d8-control-plane-apiserver в ns kube-system).

      • annotationsобъект

        Аннотации, которые будут проставлены сервису для гибкой настройки балансировщика.

        Внимание! модуль не учитывает особенности указания аннотаций в различных облаках. Если аннотации для заказа load balancer’а применяются только при создании сервиса, то для обновления подобных параметров вам необходимо будет удалить и добавить параметр apiserver.loadBalancer.

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

        Список CIDR, которым разрешен доступ к API.

        Облачный провайдер может не поддерживать данную опцию и игнорировать её.

        Шаблон: ^[0-9]{1,}\.[0-9]{1,}\.[0-9]{1,}\.[0-9]{1,}\/[0-9]+$

  • etcdобъект

    Параметры etcd.

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

      Массив имен внешних etcd member’ов (эти member’ы не будут удаляться).

      Пример:

      externalMembersNames:
      - main-master-1
      - my-external-member
      

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

  • failedNodePodEvictionTimeoutSecondsцелочисленный

    Количество секунд, по прошествии которых, с узла в статусе Unreachable будут удалены Pod’ы.

    Важно! При изменении этого параметра потребуется перезапуск Pod’ов.

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

  • nodeMonitorGracePeriodSecondsцелочисленный

    Число секунд, через которое узел перейдёт в состояние Unreachable при потере с ним связи.

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