Cert-manager#

Cert-manager — инструмент для автоматизации управления жизненным циклом TLS-сертификатов в кластере. Обеспечивает автоматический запрос, выпуск, обновление и хранение сертификатов, гарантируя безопасность сервисов без необходимости ручного вмешательства.

Основные задачи и возможности
  • Автоматическое создание и обновление сертификатов: Cert-manager отслеживает срок действия сертификатов и автоматически продлевает их.

  • Интеграция с Kubernetes API: Добавляет новые ресурсы в API Kubernetes, такие как Certificate, Issuer и ClusterIssuer, что позволяет управлять сертификатами через привычные манифесты.

  • Поддержка разных типов издателей (Issuers): Позволяет настраивать источники выдачи сертификатов, например, внутренние PKI или центры сертификации.

  • Хранение сертификатов в Kubernetes Secrets: Готовые сертификаты сохраняются в виде Secret-ресурсов, что удобно для интеграции с другими инструментами кластера, такими как Ingress-контроллеры.

  • Гибкая конфигурация: Поддерживает разные профили выпуска сертификатов, указание SAN (Subject Alternative Names), параметров ключа и других свойств.

Примечание

Cert-manager устанавливается по умолчанию в процессе установки всего кластера DropApp. В частности, его сертификаты использует инструмент Ingress-nginx в Ingress-controller.

Конфигурация values#

Значения переопределяются через редактирование инструмента с именем cert-manager и указанием нужных values в spec.values. Общее описание конфигурации values для инструментов приведено в разделе «Конфигурации дополнительных инструментов».

installCRDs - настройка установки CRD#

Параметр

Описание

Значение по умолчанию

installCRDs

Устаревший параметр. Эквивалентен одновременной установке crds.enabled=true и crds.keep=true

false

crds - настройки установки и обновления Custom Resource Definitions (CRD)#

Параметр

Описание

Значение по умолчанию

crds.enabled

Включение установки CRD при развертывании с помощью Helm

true

crds.keep

Добавление аннотации helm.sh/resource-policy: keep к CRD для предотвращения их удаления при удалении Helm-чарта

true

replicaCount - количество реплик#

Параметр

Описание

Значение по умолчанию

replicaCount

Количество реплик pod инструмента

1

strategy - стратегия обновления Deployment контроллера#

Параметр

Описание

Значение по умолчанию

strategy

Стратегия обновления Deployment контроллера.
Пример конфигурации:

strategy:
  type: RollingUpdate
  rollingUpdate:
    maxSurge: 0
    maxUnavailable: 1

{}

podDisruptionBudget - ограничение одновременной недоступности pod#

Параметр

Описание

Значение по умолчанию

podDisruptionBudget.enabled

Включение PodDisruptionBudget для предотвращения простоев при запланированных прерываниях

false

featureGates — функциональные флаги контроллера#

Параметр

Описание

Значение по умолчанию

featureGates

Cписок функциональных флагов (feature gates), включаемых в pod контроллера, через запятую

""

maxConcurrentChallenges - максимальное количество одновременных проверок#

Параметр

Описание

Значение по умолчанию

maxConcurrentChallenges

Максимальное количество проверок (challenges), которые могут одновременно находиться в статусе processing одновременно

60

image - параметры контейнерного образа#

Параметр

Описание

Значение по умолчанию

image.repository

Путь к репозиторию контейнерного образа Cert-manager, формируемый на основе глобальных переменных

'{{ .Values.global.image.registry }}/{{ .Values.global.image.repository }}/{{ .Values.global.dappVersion }}/dapp-cert-manager/cert-manager-controller'

image.tag

Тег контейнерного образа Cert-manager

v1.19.6

image.pullPolicy

Политика загрузки образа.
Возможные значения: IfNotPresent, Always, Never

IfNotPresent

clusterResourceNamespace - пространство имен для ресурсов ClusterIssuer#

Параметр

Описание

Значение по умолчанию

clusterResourceNamespace

Пространство имен для хранения учетных данных DNS-провайдеров и других ресурсов ClusterIssuer

""

namespace - пространство имен для установки ресурсов#

Параметр

Описание

Значение по умолчанию

namespace

Пространство имен для установки сервисов

""

serviceAccount - настройки сервисного аккаунта#

Параметр

Описание

Значение по умолчанию

serviceAccount.create

Включение автоматического создания ServiceAccount

true

serviceAccount.automountServiceAccountToken

Автоматическое монтирование учетных данных API в ServiceAccount

true

enableCertificateOwnerRef - автоматическое удаление Secret при удалении сертификата#

Параметр

Описание

Значение по умолчанию

enableCertificateOwnerRef

Включение автоматического удаления Secret. При включении опции Secret автоматически удаляются вместе с ресурсом сертификата

false

config - основная конфигурация инструмента#

Параметр

Описание

Значение по умолчанию

config

Конфигурация в формате YAML для контроллера. Если apiVersion и kind не указаны, используются значения по умолчанию (controller.config.cert-manager.io/v1alpha1).
Пример конфигурации:

config:
  apiVersion: controller.config.cert-manager.io/v1alpha1
  kind: ControllerConfiguration
  logging:
    verbosity: 2
    format: text
  leaderElectionConfig:
    namespace: kube-system
  kubernetesAPIQPS: 9000
  kubernetesAPIBurst: 9000
  numberOfConcurrentWorkers: 200
  enableGatewayAPI: true
  featureGates:
    AdditionalCertificateOutputFormats: true
    AllAlpha: false
    AllBeta: false
    ExperimentalCertificateSigningRequestControllers: false
    ExperimentalGatewayAPISupport: true
    LiteralCertificateSubject: true
    NameConstraints: true
    OtherNames: false
    SecretsFilteredCaching: true
    ServerSideApply: false
    StableCertificateRequestName: true
    UseCertificateRequestBasicConstraints: false
    UseDomainQualifiedFinalizer: true
    ValidateCAA: false
    DefaultPrivateKeyRotationPolicyAlways: true
    ACMEHTTP01IngressPathTypeExact: true
  metricsTLSConfig:
    dynamic:
      secretNamespace: "cert-manager"
      secretName: "cert-manager-metrics-ca"
      dnsNames:
      - cert-manager-metrics

{}

dns01RecursiveNameservers - серверы имен для ACME DNS01#

Параметр

Описание

Значение по умолчанию

dns01RecursiveNameservers

Список хостов и портов рекурсивных DNS-серверов, которые Cert-manager должен опрашивать при самостоятельной проверке DNS01

""

dns01RecursiveNameserversOnly – использование рекурсивных DNS-серверов для проверки DNS01#

Параметр

Описание

Значение по умолчанию

dns01RecursiveNameserversOnly

Принудительное использование только рекурсивных DNS-серверов для проверки. Может увеличить время самостоятельной проверки DNS01

false

disableAutoApproval - отключение автоматического одобрения#

Параметр

Описание

Значение по умолчанию

disableAutoApproval

Отключение встроенного механизма автоматического одобрения Cert-manager. Полезно при использовании внешних средств одобрения, например approver-policy

false

approveSignerNames - имена подписантов для автоодобрения#

Параметр

Описание

Значение по умолчанию

approveSignerNames

Список имен подписантов (signers), которых Cert-manager одобряет автоматически по умолчанию. Если массив пуст, автоматически одобряются все подписанты

- issuers.cert-manager.io/*
- clusterissuers.cert-manager.io/*

extraArgs - дополнительные аргументы контроллера#

Параметр

Описание

Значение по умолчанию

extraArgs

Дополнительные аргументы командной строки для исполняемого файла контроллера Cert-manager.
Пример конфигурации:

extraArgs:
  - --controllers=*,-certificaterequests-approver

[]

extraEnv - дополнительные переменные окружения контроллера#

Параметр

Описание

Значение по умолчанию

extraEnv

Дополнительные переменные окружения для исполняемого файла контроллера Cert-manager.
Пример конфигурации:

extraEnv:
- name: SOME_VAR
  value: 'some value'

[]

resources - запросы и лимиты ресурсов контейнера#

Параметр

Описание

Значение по умолчанию

resources.requests.cpu

Запрашиваемые ресурсы CPU контейнера

50m

resources.requests.memory

Запрашиваемые ресурсы памяти контейнера

128Mi

resources.limits.cpu

Ограничения ресурсов CPU

500m

resources.limits.memory

Ограничения ресурсов памяти

500Mi

securityContext - контекст безопасности pod#

Параметр

Описание

Значение по умолчанию

securityContext.runAsNonRoot

Запуск от имени пользователя без административных полномочий

true

securityContext.seccompProfile.type

Тип профиля Seccomp

RuntimeDefault

containerSecurityContext - параметры контекста безопасности контейнера#

Параметр

Описание

Значение по умолчанию

containerSecurityContext.allowPrivilegeEscalation

Активация разрешения на эскалацию привилегий в контейнере

false

containerSecurityContext.capabilities.drop

Список capabilities для удаления

- ALL

containerSecurityContext.readOnlyRootFilesystem

Монтирование корневой файловой системы в режиме «только для чтения»

true

volumes - дополнительные тома (Volume)#

Параметр

Описание

Значение по умолчанию

volumes

Дополнительные тома (Volume) для pod

[]

volumeMounts - дополнительные точки монтирования томов (VolumeMounts)#

Параметр

Описание

Значение по умолчанию

volumeMounts

Дополнительные точки монтирования томов (VolumeMount)

[]

podLabels - метки pod контроллера#

Параметр

Описание

Значение по умолчанию

podLabels

Дополнительные метки для pod

{}

hostAliases - псевдонимы хостов#

Параметр

Описание

Значение по умолчанию

hostAliases

Список псевдонимов хостов для добавления в /etc/hosts.
Пример конфигурации:

- ip: 127.0.0.1
  hostnames:
  - foo.local
  - bar.local
- ip: 10.1.2.3
  hostnames:
  - foo.remote
  - bar.remote

[]

nodeSelector - селектор узлов для планирования pod#

Параметр

Описание

Значение по умолчанию

nodeSelector

Селектор узлов для планирования pod

kubernetes.io/os: linux

ingressShim - настройки ingress shim#

Параметр

Описание

Значение по умолчанию

ingressShim

Конфигурация для автоматического создания Certificate на основе ресурсов Ingress

{}

affinity - правила привязки (affinity и anti-affinity) pod к узлам#

Параметр

Описание

Значение по умолчанию

affinity

Настройки правила привязки (affinity и anti-affinity) pod к узлам.
Пример конфигурации:

affinity:
  nodeAffinity:
    requiredDuringSchedulingIgnoredDuringExecution:
      nodeSelectorTerms:
      - matchExpressions:
        - key: foo.bar.com/role
          operator: In
          values:
          - master

{}

tolerations - параметры Toleration для pod#

Параметр

Описание

Значение по умолчанию

tolerations

Toleration для размещения pod на узлах с ограничениями (taints).
Пример конфигурации:

tolerations:
- key: foo.bar.com/role
  operator: Equal
  value: master
  effect: NoSchedule

[]

topologySpreadConstraints - ограничения распределения pod по топологии#

Параметр

Описание

Значение по умолчанию

topologySpreadConstraints

Ограничения топологии для равномерного распределения pod по зонам доступности и узлам.
Пример конфигурации:

topologySpreadConstraints:
- maxSkew: 2
  topologyKey: topology.kubernetes.io/zone
  whenUnsatisfiable: ScheduleAnyway
  labelSelector:
    matchLabels:
      app.kubernetes.io/instance: cert-manager
      app.kubernetes.io/component: controller

[]

livenessProbe - параметры проверки работоспособности#

Параметр

Описание

Значение по умолчанию

livenessProbe.enabled

Включение проверки работоспособности для перезапуска контроллера при рассинхронизации системных часов

true

livenessProbe.initialDelaySeconds

Задержка перед первой проверкой работоспособности

10

livenessProbe.periodSeconds

Интервал между проверками работоспособности

10

livenessProbe.timeoutSeconds

Тайм-аут ожидания проверки работоспособности

15

livenessProbe.successThreshold

Количество успешных проверок работоспособности

1

livenessProbe.failureThreshold

Количество неудачных попыток проверки до перезапуска контейнера

8

Параметр

Описание

Значение по умолчанию

enableServiceLinks

Включение serviceLinks в pod

false

prometheus - параметры интеграции с Prometheus и сбора метрик#

Параметр

Описание

Значение по умолчанию

prometheus.enabled

Включение мониторинга Prometheus для контроллера и вебхука Cert-manager

true

prometheus.servicemonitor.enabled

Создание ServiceMonitor для добавления Cert-manager в Prometheus

true

prometheus.servicemonitor.prometheusInstance

Метка prometheus на ServiceMonitor для выбора целевого экземпляра Prometheus

default

prometheus.servicemonitor.targetPort

Целевой порт на ServiceMonitor; должен соответствовать порту контроллера Cert-manager, предназначенному для сбора метрик

http-metrics

prometheus.servicemonitor.path

Путь для сбора метрик

/metrics

prometheus.servicemonitor.interval

Интервал сбора метрик

60s

prometheus.servicemonitor.scrapeTimeout

Настройка тайм-аута сбора метрик

30s

prometheus.servicemonitor.labels

Метки, добавляемые ко всем создаваемым ресурсам

{}

prometheus.servicemonitor.annotations

Аннотации, добавляемые ко всем создаваемым ресурсам

{}

prometheus.servicemonitor.honorLabels

Сохранение меток из собранных данных с переопределением меток сервера

false

prometheus.servicemonitor.endpointAdditionalProperties

Дополнительные свойства эндпоинта, такие как relabelings и metricRelabelings.
Пример конфигурации:

endpointAdditionalProperties:
  relabelings:
  - action: replace
    sourceLabels:
    - __meta_kubernetes_pod_node_name
    targetLabel: instance

{}

prometheus.podmonitor.enabled

Создание PodMonitor для добавления Cert-manager в Prometheus (используется вместо ServiceMonitor)

false

prometheus.podmonitor.prometheusInstance

Метка prometheus на PodMonitor для выбора целевого экземпляра Prometheus

default

prometheus.podmonitor.path

Путь для сбора метрик

/metrics

prometheus.podmonitor.interval

Интервал сбора метрик

60s

prometheus.podmonitor.scrapeTimeout

Настройка тайм-аута сбора метрик

30s

prometheus.podmonitor.labels

Метки, добавляемые ко всем создаваемым ресурсам

{}

prometheus.podmonitor.annotations

Аннотации, добавляемые ко всем создаваемым ресурсам

{}

prometheus.podmonitor.honorLabels

Сохранение меток из собранных данных с переопределением меток сервера

false

prometheus.podmonitor.endpointAdditionalProperties

Дополнительные свойства эндпоинта, такие как relabelings и metricRelabelings.
Пример конфигурации:

endpointAdditionalProperties:
  relabelings:
  - action: replace
    sourceLabels:
    - __meta_kubernetes_pod_node_name
    targetLabel: instance
  scheme: https
  tlsConfig:
    serverName: cert-manager-metrics
    ca:
      secret:
        name: cert-manager-metrics-ca
        key: "tls.crt"

{}

Webhook - конфигурация вебхука#

Параметр

Описание

Значение по умолчанию

webhook.replicaCount

Количество реплик pod инструмента

1

webhook.timeoutSeconds

Время в секундах, которое API-сервер ожидает ответа от вебхука перед признанием вызова неудачным (допустимые значения: от 1 до 30)

30

webhook.config

Конфигурация вебхука через файл.
Пример конфигурации:

config:
  apiVersion: webhook.config.cert-manager.io/v1alpha1
  kind: WebhookConfiguration
  metricsTLSConfig:
    dynamic:
      secretNamespace: "cert-manager"
      secretName: "cert-manager-metrics-ca"
      dnsNames:
      - cert-manager-metrics

{}

webhook.strategy

Стратегия обновления Deployment вебхука.
Пример конфигурации:

strategy:
  type: RollingUpdate
  rollingUpdate:
    maxSurge: 0
    maxUnavailable: 1

{}

webhook.securityContext.runAsNonRoot

Запуск вебхука от имени пользователя без административных полномочий

true

webhook.securityContext.seccompProfile.type

Тип профиля Seccomp

RuntimeDefault

webhook.containerSecurityContext.allowPrivilegeEscalation

Активация разрешения на эскалацию привилегий в контейнере

false

webhook.containerSecurityContext.capabilities.drop

Список capabilities для удаления

- ALL

webhook.containerSecurityContext.readOnlyRootFilesystem

Монтирование корневой файловой системы вебхука в режиме «только для чтения»

true

webhook.podDisruptionBudget.enabled

Включение PodDisruptionBudget для вебхука

false

webhook.validatingWebhookConfiguration.namespaceSelector.matchExpressions

Селектор пространства имен для валидирующего вебхука

- key: cert-manager.io/disable-validation
  operator: NotIn
  values:
  - "true"

webhook.mutatingWebhookConfiguration.namespaceSelector

Селектор пространства имен для «мутирующего» вебхука.
Пример конфигурации:

namespaceSelector:
  matchLabels:
    key: value
  matchExpressions:
    - key: kubernetes.io/metadata.name
      operator: NotIn
      values:
        - kube-system

{}

webhook.extraArgs

Дополнительные аргументы командной строки для вебхука.
Пример конфигурации:

--config=<path-to-config-file>

[]

webhook.extraEnv

Дополнительные переменные окружения для вебхука.
Пример конфигурации:

extraEnv:
- name: SOME_VAR
  value: 'some value'

[]

webhook.featureGates

Cписок функциональных флагов (feature gates), включаемых в pod для вебхука, через запятую

""

webhook.resources

Запросы и ограничения ресурсов для pod.
Пример конфигурации:

requests:
  cpu: 10m
  memory: 32Mi

{}

webhook.livenessProbe.failureThreshold

Количество неудачных проверок работоспособности

3

webhook.livenessProbe.initialDelaySeconds

Задержка перед первой проверкой работоспособности

60

webhook.livenessProbe.periodSeconds

Интервал между проверками работоспособности

10

webhook.livenessProbe.successThreshold

Количество успешных проверок работоспособности

1

webhook.livenessProbe.timeoutSeconds

Тайм-аут ожидания проверки работоспособности

1

webhook.readinessProbe.failureThreshold

Количество неудачных проверок готовности

3

webhook.readinessProbe.initialDelaySeconds

Задержка перед первой проверкой готовности

5

webhook.readinessProbe.periodSeconds

Интервал между проверками готовности

5

webhook.readinessProbe.successThreshold

Количество успешных проверок готовности

1

webhook.readinessProbe.timeoutSeconds

Тайм-аут ожидания проверки готовности

1

webhook.nodeSelector

Селектор узлов для планирования pod

kubernetes.io/os: linux

webhook.affinity

Настройки правила привязки (affinity и anti-affinity) pod к узлам.
Пример конфигурации:

affinity:
  nodeAffinity:
    requiredDuringSchedulingIgnoredDuringExecution:
      nodeSelectorTerms:
      - matchExpressions:
        - key: foo.bar.com/role
          operator: In
          values:
          - master

{}

webhook.tolerations

Toleration для размещения pod на узлах с ограничениями (taints).
Пример конфигурации:

tolerations:
- key: foo.bar.com/role
  operator: Equal
  value: master
  effect: NoSchedule

[]

webhook.topologySpreadConstraints

Ограничения топологии для равномерного распределения pod по зонам доступности и узлам.
Пример конфигурации:

topologySpreadConstraints:
- maxSkew: 2
  topologyKey: topology.kubernetes.io/zone
  whenUnsatisfiable: ScheduleAnyway
  labelSelector:
    matchLabels:
      app.kubernetes.io/instance: cert-manager
      app.kubernetes.io/component: controller

[]

webhook.podLabels

Дополнительные метки для pod вебхука

{}

webhook.serviceLabels

Дополнительные метки для Service вебхука

{}

webhook.serviceIPFamilyPolicy

Политика IP-семейств для Service вебхука

""

webhook.serviceIPFamilies

IP-семейства для Service вебхука

[]

webhook.image.repository

Путь к репозиторию контейнерного образа вебхука

'{{ .Values.global.image.registry }}/{{ .Values.global.image.repository }}/{{ .Values.global.dappVersion }}/dapp-cert-manager/cert-manager-webhook'

webhook.image.tag

Тег образа вебхука

v1.19.6

webhook.image.pullPolicy

Политика загрузки образа.
Возможные значения: Always, IfNotPresent, Never

IfNotPresent

webhook.serviceAccount.create

Включение автоматического создания ServiceAccount для вебхука

true

webhook.serviceAccount.automountServiceAccountToken

Автоматическое монтирование учетных данных API в ServiceAccount

true

webhook.securePort

Порт, на котором вебхук ожидает запросы

10250

webhook.hostNetwork

Запуск вебхука в режиме hostNetwork

false

webhook.serviceType

Тип Service для вебхука

ClusterIP

webhook.url

Переопределение «мутирующего» и валидирующего вебхуков для обращения к Service вебхука через поле url вместо имени сервиса

{}

webhook.networkPolicy.enabled

Создание сетевых политик для вебхука

false

webhook.networkPolicy.ingress

Настройки Ingress для маршрутизации внешнего трафика

- from:
  - ipBlock:
      cidr: 0.0.0.0/0
  - ipBlock:
      cidr: "::/0"

webhook.networkPolicy.egress

Правила исходящего трафика для сетевой политики вебхука (по умолчанию разрешает весь исходящий трафик на порты 80, 443, 6443 и DNS)

- ports:
  - port: 80
    protocol: TCP
  - port: 443
    protocol: TCP
  - port: 53
    protocol: TCP
  - port: 53
    protocol: UDP
  - port: 6443
    protocol: TCP
  to:
  - ipBlock:
      cidr: 0.0.0.0/0
  - ipBlock:
      cidr: "::/0"

webhook.volumes

Дополнительные тома (Volume) для pod

[]

webhook.volumeMounts

Дополнительные точки монтирования томов (VolumeMount)

[]

webhook.enableServiceLinks

Включение serviceLinks в переменные окружения pod вебхука

false

cainjector - конфигурация cainjector#

Параметр

Описание

Значение по умолчанию

cainjector.enabled

Включение создания Deployment cainjector

true

cainjector.replicaCount

Количество реплик pod инструмента

1

cainjector.config

Конфигурация для cainjector через файл.
Пример конфигурации:

config:
  apiVersion: cainjector.config.cert-manager.io/v1alpha1
  kind: CAInjectorConfiguration
  logging:
    verbosity: 2
    format: text
  leaderElectionConfig:
    namespace: kube-system
  metricsTLSConfig:
    dynamic:
      secretNamespace: "cert-manager"
      secretName: "cert-manager-metrics-ca"
      dnsNames:
      - cert-manager-metrics

{}

cainjector.strategy

Стратегия обновления Deployment cainjector.
Пример конфигурации:

strategy:
  type: RollingUpdate
  rollingUpdate:
    maxSurge: 0
    maxUnavailable: 1

{}

cainjector.securityContext.runAsNonRoot

Запуск cainjector от имени пользователя без административных полномочий

true

cainjector.securityContext.seccompProfile.type

Тип профиля Seccomp

RuntimeDefault

cainjector.containerSecurityContext.allowPrivilegeEscalation

Активация разрешения на эскалацию привилегий в контейнере

false

cainjector.containerSecurityContext.capabilities.drop

Список capabilities для удаления

- ALL

cainjector.containerSecurityContext.readOnlyRootFilesystem

Монтирование корневой файловой системы cainjector в режиме «только для чтения»

true

cainjector.podDisruptionBudget.enabled

Включение PodDisruptionBudget для cainjector

false

cainjector.extraArgs

Дополнительные аргументы командной строки для cainjector.
Пример конфигурации:

--enable-profiling=true

[]

cainjector.extraEnv

Дополнительные переменные окружения для cainjector.
Пример конфигурации:

extraEnv:
- name: SOME_VAR
  value: 'some value'

[]

cainjector.featureGates

Cписок функциональных флагов (feature gates), включаемых в pod для `cainjector, через запятую

""

cainjector.resources

Запросы и ограничения ресурсов для pod.
Пример конфигурации:

requests:
  cpu: 10m
  memory: 32Mi

{}

cainjector.nodeSelector

Селектор узлов для планирования pod

kubernetes.io/os: linux

cainjector.affinity

Настройки правила привязки (affinity и anti-affinity) pod к узлам.
Пример конфигурации:

affinity:
  nodeAffinity:
    requiredDuringSchedulingIgnoredDuringExecution:
      nodeSelectorTerms:
      - matchExpressions:
        - key: foo.bar.com/role
          operator: In
          values:
          - master

{}

cainjector.tolerations

Toleration для размещения pod на узлах с ограничениями (taints).
Пример конфигурации:

tolerations:
- key: foo.bar.com/role
  operator: Equal
  value: master
  effect: NoSchedule

[]

cainjector.topologySpreadConstraints

Ограничения топологии для равномерного распределения pod по зонам доступности и узлам.
Пример конфигурации:

topologySpreadConstraints:
- maxSkew: 2
  topologyKey: topology.kubernetes.io/zone
  whenUnsatisfiable: ScheduleAnyway
  labelSelector:
    matchLabels:
      app.kubernetes.io/instance: cert-manager
      app.kubernetes.io/component: controller

[]

cainjector.podLabels

Дополнительные метки для pod cainjector

{}

cainjector.serviceLabels

Дополнительные метки для Service метрик cainjector

{}

cainjector.image.repository

Путь к репозиторию контейнерного образа cainjector

'{{ .Values.global.image.registry }}/{{ .Values.global.image.repository }}/{{ .Values.global.dappVersion }}/dapp-cert-manager/cert-manager-cainjector'

cainjector.image.tag

Тег образа cainjector

v1.19.6

cainjector.image.pullPolicy

Политика загрузки образа.
Возможные значения: Always, IfNotPresent, Never

IfNotPresent

cainjector.serviceAccount.create

Включение автоматического создания ServiceAccount для cainjector

true

cainjector.serviceAccount.automountServiceAccountToken

Автоматическое монтирование учетных данных API в ServiceAccount

true

cainjector.volumes

Дополнительные тома (Volume) для pod

[]

cainjector.volumeMounts

Дополнительные точки монтирования томов (VolumeMount)

[]

cainjector.enableServiceLinks

Включение serviceLinksв переменные окружения pod cainjector

false

acmesolver - конфигурация ACME solver#

Параметр

Описание

Значение по умолчанию

acmesolver.image.repository

Путь к репозиторию контейнерного образаacmesolver

'{{ .Values.global.image.registry }}/{{ .Values.global.image.repository }}/{{ .Values.global.dappVersion }}/dapp-cert-manager/cert-manager-acmesolver'

acmesolver.image.tag

Тег образаacmesolver

v1.19.6

acmesolver.image.pullPolicy

Политика загрузки образа.
Возможные значения: Always, IfNotPresent, Never

IfNotPresent

startupapicheck - проверка доступности API при запуске#

Параметр

Описание

Значение по умолчанию

startupapicheck.enabled

Включение проверки доступности API при запуске (представляет собой Helm post-install hook, ожидающий доступности эндпоинта вебхука)

true

startupapicheck.securityContext.runAsNonRoot

Запуск startupapicheck от имени пользователя без административных полномочий

true

startupapicheck.securityContext.seccompProfile.type

Тип профиля Seccomp

RuntimeDefault

startupapicheck.containerSecurityContext.allowPrivilegeEscalation

Активация разрешения на эскалацию привилегий в контейнере

false

startupapicheck.containerSecurityContext.capabilities.drop

Список capabilities для удаления

- ALL

startupapicheck.containerSecurityContext.readOnlyRootFilesystem

Монтирование корневой файловой системы startupapicheck в режиме «только для чтения»

true

startupapicheck.timeout

Тайм-аут ожидания для команды проверки API

1m

startupapicheck.backoffLimit

Лимит повторных попыток выполнения Job

4

startupapicheck.jobAnnotations

Аннотации для Job startupapicheck

helm.sh/hook: post-install
helm.sh/hook-weight: "1"
helm.sh/hook-delete-policy: before-hook-creation,hook-succeeded

startupapicheck.extraArgs

Дополнительные аргументы командной строки для startupapicheck (по умолчанию включено подробное логирование)

- -v=1

startupapicheck.extraEnv

Дополнительные переменные окружения дляstartupapicheck.
Пример конфигурации:

extraEnv:
- name: SOME_VAR
  value: 'some value'

[]

startupapicheck.resources

Запросы и ограничения ресурсов для pod.
Пример конфигурации:

requests:
  cpu: 10m
  memory: 32Mi

{}

startupapicheck.nodeSelector

Селектор узлов для планирования pod

kubernetes.io/os: linux

startupapicheck.affinity

Настройки правила привязки (affinity и anti-affinity) pod к узлам.
Пример конфигурации:

affinity:
  nodeAffinity:
    requiredDuringSchedulingIgnoredDuringExecution:
      nodeSelectorTerms:
      - matchExpressions:
        - key: foo.bar.com/role
          operator: In
          values:
          - master

{}

startupapicheck.tolerations

Toleration для размещения pod на узлах с ограничениями (taints).
Пример конфигурации:

tolerations:
- key: foo.bar.com/role
  operator: Equal
  value: master
  effect: NoSchedule

[]

startupapicheck.podLabels

Дополнительные метки для pod startupapicheck

{}

startupapicheck.image.repository

Путь к репозиторию контейнерного образа startupapicheck

'{{ .Values.global.image.registry }}/{{ .Values.global.image.repository }}/{{ .Values.global.dappVersion }}/dapp-cert-manager-ctl/cert-manager-ctl'

startupapicheck.image.tag

Тег образа startupapicheck

v2.5.0

startupapicheck.image.pullPolicy

Политика загрузки образа.
Возможные значения: Always, IfNotPresent, Never

IfNotPresent

startupapicheck.rbac.annotations

Аннотации, добавляемые ко всем создаваемым ресурсам

helm.sh/hook: post-install
helm.sh/hook-weight: "-5"
helm.sh/hook-delete-policy: before-hook-creation,hook-succeeded

startupapicheck.serviceAccount.create

Включение автоматического создания ServiceAccount для startupapicheck

true

startupapicheck.serviceAccount.annotations

Аннотации, добавляемые ко всем создаваемым ресурсам

helm.sh/hook: post-install
helm.sh/hook-weight: "-5"
helm.sh/hook-delete-policy: before-hook-creation,hook-succeeded

startupapicheck.serviceAccount.automountServiceAccountToken

Автоматическое монтирование учетных данных API в ServiceAccount

true

startupapicheck.volumes

Дополнительные тома (Volume) для pod

[]

startupapicheck.volumeMounts

Дополнительные точки монтирования томов (VolumeMount)

[]

startupapicheck.enableServiceLinks

Включение serviceLinks в переменные окружения pod startupapicheck

false

extraObjects - дополнительные объекты Helm-чарта#

Параметр

Описание

Значение по умолчанию

extraObjects

Добавление дополнительных динамических объектов в Helm-чарте.
Пример конфигурации:

extraObjects:
  - |
    apiVersion: v1
    kind: ConfigMap
    metadata:
      name: '{{ template "cert-manager.fullname" . }}-extra-configmap'

[]

creator - метка создателя#

Параметр

Описание

Значение по умолчанию

creator

Служебное поле конвейера сборки (release pipeline), определяющее режим генерации манифестов

helm

enabled - состояние чарта#

Параметр

Описание

Значение по умолчанию

enabled

Служебный флаг, используемый как условие включения Cert-manager при установке в качестве зависимого чарта (dependency chart)

true