У модуля нет обязательных настроек.

Модуль включен по умолчанию в наборах модулей: Default, Managed. Модуль выключен по умолчанию в наборе модулей Minimal.

Как явно включить или отключить модуль…

Чтобы явно включить или выключить модуль cert-manager, установите spec.enabled в true или false в ModuleConfig/cert-manager (создайте, при необходимости), или воспользуйтесь командой deckhouse-controller module в поде d8-system/deckhouse.

Пример включения модуля:

  • с помощью ресурса ModuleConfig:

    apiVersion: deckhouse.io/v1alpha1
    kind: ModuleConfig
    metadata:
      name: cert-manager
    spec:
      enabled: true
    
  • с помощью команды deckhouse-controller (требуется kubectl, настроенный на работу с кластером):

    kubectl -ti -n d8-system exec deploy/deckhouse -c deckhouse -- deckhouse-controller module enable cert-manager
    

Пример выключения модуля:

  • с помощью ресурса ModuleConfig:

    apiVersion: deckhouse.io/v1alpha1
    kind: ModuleConfig
    metadata:
      name: cert-manager
    spec:
      enabled: false
    
  • с помощью команды deckhouse-controller (требуется kubectl, настроенный на работу с кластером):

    kubectl -ti -n d8-system exec deploy/deckhouse -c deckhouse -- deckhouse-controller module disable cert-manager
    

Чтобы настроить модуль, используйте custom resource ModuleConfig с именем cert-manager (подробнее о настройке Deckhouse…).

Пример ресурса ModuleConfig/cert-manager для настройки модуля:

apiVersion: deckhouse.io/v1alpha1
kind: ModuleConfig
metadata:
  name: cert-manager
spec:
  version: 1
  enabled: true
  settings: # <-- Параметры модуля из раздела "Параметры" ниже.

Параметры

Версия схемы: 1

  • cleanupOrphanSecretsбулевый

    Удалять Secret с сертификатом автоматически, если соответствующий ресурс Certificate удален из кластера.

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

    Примеры:

    cleanupOrphanSecrets: true
    
    cleanupOrphanSecrets: false
    
  • cloudDNSServiceAccountстрока

    Service Account для Google Cloud из того же проекта с ролью Администратора DNS.

    Пример:

    cloudDNSServiceAccount: eyJzYSI6ICJhYmNkZWZnaEBzZXJ2aWNlYWNjb3VudC5jb20iLCAicHJvamVjdF9pZCI6ImFhYWFhIn0=
    
  • cloudflareAPITokenстрока

    API Tokens позволяют использовать ключи, привязанные к определенным DNS-зонам.

    Рекомендуется использовать API Tokens для более высокой безопасности, поскольку они имеют более строгие разрешения и могут быть легко отозваны.

    Способ проверки того, что домены, указанные в ресурсе Certificate, для которых заказывается сертификат, находятся под управлением cert-manager у DNS-провайдера Cloudflare. Проверка происходит путем добавления специальных TXT-записей для домена ACME DNS01 Challenge Provider.

    Пример:

    cloudflareAPIToken: token
    
  • cloudflareEmailстрока

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

    Пример:

    cloudflareEmail: example@example.com
    
  • cloudflareGlobalAPIKeyстрока

    Cloudflare Global API key для управления DNS-записями.

    Способ проверки того, что домены, указанные в ресурсе Certificate, для которых заказывается сертификат, находятся под управлением cert-manager у DNS-провайдера Cloudflare. Проверка происходит путем добавления специальных TXT-записей для домена ACME DNS01 Challenge Provider.

    Пример:

    cloudflareGlobalAPIKey: key
    
  • digitalOceanCredentialsстрока

    Access Token от Digital Ocean API, который можно создать в разделе API.

    Пример:

    digitalOceanCredentials: creds
    
  • disableLetsencryptбулевый

    Не создавать ClusterIssuer letsencrypt и letsencrypt-staging в кластере (если true).

    Примеры:

    disableLetsencrypt: true
    
    disableLetsencrypt: false
    
  • emailстрока

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

    Пример:

    email: example@example.com
    
  • enableCAInjectorбулевый

    Включить CAInjector. Он необходим только для инъекции CA-сертификатов в ValidatingWebhookConfiguration, MutatingWebhookConfiguration, CustomResourceDefinition и APIService. Deckhouse не использует CAInjector, поэтому включать нужно только в том случае, если вы используете в своих сервисах пользовательские инъекции CA.

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

    Примеры:

    enableCAInjector: true
    
    enableCAInjector: false
    
  • maxConcurrentChallengesцелочисленный

    Максимальное количество одновременных Challenges в статусе Processing

    Допустимые значения: 0 <= X

    Пример:

    maxConcurrentChallenges: 25
    
  • nodeSelectorобъект

    Структура, аналогичная spec.nodeSelector пода Kubernetes.

    Если ничего не указано или указано false, будет использоваться автоматика.

    Пример:

    nodeSelector:
      has-gpu: 'true'
    
  • route53AccessKeyIDстрока

    Access Key ID пользователя с необходимыми правами.

    Amazon Route53 IAM Policy для управления доменными записями домена.

    Пример:

    route53AccessKeyID: key_id
    
  • route53SecretAccessKeyстрока

    Secret Access Key пользователя с необходимыми правами для управления доменными записями домена.

    Пример:

    route53SecretAccessKey: secret
    
  • tolerationsмассив объектов

    Структура, аналогичная spec.tolerations пода Kubernetes.

    Если ничего не указано или указано false, будет использоваться автоматика.

    Пример:

    tolerations:
    - key: dedicated.deckhouse.io
      operator: Equal
      value: cert-manager
    
    • tolerations.effectстрока
    • tolerations.keyстрока
    • tolerations.operatorстрока
    • tolerations.tolerationSecondsцелочисленный
    • tolerations.valueстрока