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 для инструментов приведено в разделе «Конфигурации дополнительных инструментов».
crds - настройки установки и обновления Custom Resource Definitions (CRD)
podDisruptionBudget - ограничение одновременной недоступности pod
maxConcurrentChallenges - максимальное количество одновременных проверок
clusterResourceNamespace - пространство имен для ресурсов ClusterIssuer
enableCertificateOwnerRef - автоматическое удаление Secret при удалении сертификата
dns01RecursiveNameserversOnly – использование рекурсивных DNS-серверов для проверки DNS01
containerSecurityContext - параметры контекста безопасности контейнера
volumeMounts - дополнительные точки монтирования томов (VolumeMounts)
affinity - правила привязки (affinity и anti-affinity) pod к узлам
topologySpreadConstraints - ограничения распределения pod по топологии
enableServiceLinks - связи сервисов в переменных окружения контроллера
prometheus - параметры интеграции с Prometheus и сбора метрик
installCRDs - настройка установки CRD#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Устаревший параметр. Эквивалентен одновременной установке |
|
crds - настройки установки и обновления Custom Resource Definitions (CRD)#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Включение установки CRD при развертывании с помощью |
|
|
Добавление аннотации |
|
replicaCount - количество реплик#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Количество реплик pod инструмента |
|
strategy - стратегия обновления Deployment контроллера#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Стратегия обновления |
|
podDisruptionBudget - ограничение одновременной недоступности pod#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Включение |
|
featureGates — функциональные флаги контроллера#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Cписок функциональных флагов ( |
|
maxConcurrentChallenges - максимальное количество одновременных проверок#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Максимальное количество проверок ( |
|
image - параметры контейнерного образа#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Путь к репозиторию контейнерного образа Cert-manager, формируемый на основе глобальных переменных |
|
|
Тег контейнерного образа Cert-manager |
|
|
Политика загрузки образа. |
|
clusterResourceNamespace - пространство имен для ресурсов ClusterIssuer#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Пространство имен для хранения учетных данных DNS-провайдеров и других ресурсов |
|
namespace - пространство имен для установки ресурсов#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Пространство имен для установки сервисов |
|
serviceAccount - настройки сервисного аккаунта#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Включение автоматического создания |
|
|
Автоматическое монтирование учетных данных API в |
|
enableCertificateOwnerRef - автоматическое удаление Secret при удалении сертификата#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Включение автоматического удаления |
|
config - основная конфигурация инструмента#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Конфигурация в формате YAML для контроллера. Если |
|
dns01RecursiveNameservers - серверы имен для ACME DNS01#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Список хостов и портов рекурсивных DNS-серверов, которые Cert-manager должен опрашивать при самостоятельной проверке DNS01 |
|
dns01RecursiveNameserversOnly – использование рекурсивных DNS-серверов для проверки DNS01#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Принудительное использование только рекурсивных DNS-серверов для проверки. Может увеличить время самостоятельной проверки DNS01 |
|
disableAutoApproval - отключение автоматического одобрения#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Отключение встроенного механизма автоматического одобрения Cert-manager. Полезно при использовании внешних средств одобрения, например |
|
approveSignerNames - имена подписантов для автоодобрения#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Список имен подписантов ( |
|
extraArgs - дополнительные аргументы контроллера#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Дополнительные аргументы командной строки для исполняемого файла контроллера Cert-manager. |
|
extraEnv - дополнительные переменные окружения контроллера#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Дополнительные переменные окружения для исполняемого файла контроллера Cert-manager. |
|
resources - запросы и лимиты ресурсов контейнера#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Запрашиваемые ресурсы CPU контейнера |
|
|
Запрашиваемые ресурсы памяти контейнера |
|
|
Ограничения ресурсов CPU |
|
|
Ограничения ресурсов памяти |
|
securityContext - контекст безопасности pod#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Запуск от имени пользователя без административных полномочий |
|
|
Тип профиля |
|
containerSecurityContext - параметры контекста безопасности контейнера#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Активация разрешения на эскалацию привилегий в контейнере |
|
|
Список |
|
|
Монтирование корневой файловой системы в режиме «только для чтения» |
|
volumes - дополнительные тома (Volume)#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Дополнительные тома ( |
|
volumeMounts - дополнительные точки монтирования томов (VolumeMounts)#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Дополнительные точки монтирования томов ( |
|
podLabels - метки pod контроллера#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Дополнительные метки для pod |
|
hostAliases - псевдонимы хостов#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Список псевдонимов хостов для добавления в |
|
nodeSelector - селектор узлов для планирования pod#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Селектор узлов для планирования pod |
|
ingressShim - настройки ingress shim#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Конфигурация для автоматического создания |
|
affinity - правила привязки (affinity и anti-affinity) pod к узлам#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Настройки правила привязки ( |
|
tolerations - параметры Toleration для pod#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
|
|
topologySpreadConstraints - ограничения распределения pod по топологии#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Ограничения топологии для равномерного распределения pod по зонам доступности и узлам. |
|
livenessProbe - параметры проверки работоспособности#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Включение проверки работоспособности для перезапуска контроллера при рассинхронизации системных часов |
|
|
Задержка перед первой проверкой работоспособности |
|
|
Интервал между проверками работоспособности |
|
|
Тайм-аут ожидания проверки работоспособности |
|
|
Количество успешных проверок работоспособности |
|
|
Количество неудачных попыток проверки до перезапуска контейнера |
|
enableServiceLinks - связи сервисов в переменных окружения контроллера#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Включение |
|
prometheus - параметры интеграции с Prometheus и сбора метрик#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Включение мониторинга Prometheus для контроллера и вебхука Cert-manager |
|
|
Создание |
|
|
Метка |
|
|
Целевой порт на |
|
|
Путь для сбора метрик |
|
|
Интервал сбора метрик |
|
|
Настройка тайм-аута сбора метрик |
|
|
Метки, добавляемые ко всем создаваемым ресурсам |
|
|
Аннотации, добавляемые ко всем создаваемым ресурсам |
|
|
Сохранение меток из собранных данных с переопределением меток сервера |
|
|
Дополнительные свойства эндпоинта, такие как |
|
|
Создание |
|
|
Метка |
|
|
Путь для сбора метрик |
|
|
Интервал сбора метрик |
|
|
Настройка тайм-аута сбора метрик |
|
|
Метки, добавляемые ко всем создаваемым ресурсам |
|
|
Аннотации, добавляемые ко всем создаваемым ресурсам |
|
|
Сохранение меток из собранных данных с переопределением меток сервера |
|
|
Дополнительные свойства эндпоинта, такие как |
|
Webhook - конфигурация вебхука#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Количество реплик pod инструмента |
|
|
Время в секундах, которое API-сервер ожидает ответа от вебхука перед признанием вызова неудачным (допустимые значения: от |
|
|
Конфигурация вебхука через файл. |
|
|
Стратегия обновления |
|
|
Запуск вебхука от имени пользователя без административных полномочий |
|
|
Тип профиля |
|
|
Активация разрешения на эскалацию привилегий в контейнере |
|
|
Список |
|
|
Монтирование корневой файловой системы вебхука в режиме «только для чтения» |
|
|
Включение |
|
|
Селектор пространства имен для валидирующего вебхука |
|
|
Селектор пространства имен для «мутирующего» вебхука. |
|
|
Дополнительные аргументы командной строки для вебхука. |
|
|
Дополнительные переменные окружения для вебхука. |
|
|
Cписок функциональных флагов ( |
|
|
Запросы и ограничения ресурсов для pod. |
|
|
Количество неудачных проверок работоспособности |
|
|
Задержка перед первой проверкой работоспособности |
|
|
Интервал между проверками работоспособности |
|
|
Количество успешных проверок работоспособности |
|
|
Тайм-аут ожидания проверки работоспособности |
|
|
Количество неудачных проверок готовности |
|
|
Задержка перед первой проверкой готовности |
|
|
Интервал между проверками готовности |
|
|
Количество успешных проверок готовности |
|
|
Тайм-аут ожидания проверки готовности |
|
|
Селектор узлов для планирования pod |
|
|
Настройки правила привязки ( |
|
|
|
|
|
Ограничения топологии для равномерного распределения pod по зонам доступности и узлам. |
|
|
Дополнительные метки для pod вебхука |
|
|
Дополнительные метки для |
|
|
Политика IP-семейств для |
|
|
IP-семейства для |
|
|
Путь к репозиторию контейнерного образа вебхука |
|
|
Тег образа вебхука |
|
|
Политика загрузки образа. |
|
|
Включение автоматического создания |
|
|
Автоматическое монтирование учетных данных API в |
|
|
Порт, на котором вебхук ожидает запросы |
|
|
Запуск вебхука в режиме |
|
|
Тип |
|
|
Переопределение «мутирующего» и валидирующего вебхуков для обращения к |
|
|
Создание сетевых политик для вебхука |
|
|
Настройки |
|
|
Правила исходящего трафика для сетевой политики вебхука (по умолчанию разрешает весь исходящий трафик на порты |
|
|
Дополнительные тома ( |
|
|
Дополнительные точки монтирования томов ( |
|
|
Включение |
|
cainjector - конфигурация cainjector#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Включение создания |
|
|
Количество реплик pod инструмента |
|
|
Конфигурация для |
|
|
Стратегия обновления |
|
|
Запуск |
|
|
Тип профиля |
|
|
Активация разрешения на эскалацию привилегий в контейнере |
|
|
Список |
|
|
Монтирование корневой файловой системы |
|
|
Включение |
|
|
Дополнительные аргументы командной строки для |
|
|
Дополнительные переменные окружения для |
|
|
Cписок функциональных флагов ( |
|
|
Запросы и ограничения ресурсов для pod. |
|
|
Селектор узлов для планирования pod |
|
|
Настройки правила привязки ( |
|
|
|
|
|
Ограничения топологии для равномерного распределения pod по зонам доступности и узлам. |
|
|
Дополнительные метки для pod |
|
|
Дополнительные метки для |
|
|
Путь к репозиторию контейнерного образа |
|
|
Тег образа |
|
|
Политика загрузки образа. |
|
|
Включение автоматического создания |
|
|
Автоматическое монтирование учетных данных API в |
|
|
Дополнительные тома ( |
|
|
Дополнительные точки монтирования томов ( |
|
|
Включение |
|
acmesolver - конфигурация ACME solver#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Путь к репозиторию контейнерного образа |
|
|
Тег образа |
|
|
Политика загрузки образа. |
|
startupapicheck - проверка доступности API при запуске#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Включение проверки доступности API при запуске (представляет собой |
|
|
Запуск |
|
|
Тип профиля |
|
|
Активация разрешения на эскалацию привилегий в контейнере |
|
|
Список |
|
|
Монтирование корневой файловой системы |
|
|
Тайм-аут ожидания для команды проверки API |
|
|
Лимит повторных попыток выполнения |
|
|
Аннотации для |
|
|
Дополнительные аргументы командной строки для |
|
|
Дополнительные переменные окружения для |
|
|
Запросы и ограничения ресурсов для pod. |
|
|
Селектор узлов для планирования pod |
|
|
Настройки правила привязки ( |
|
|
|
|
|
Дополнительные метки для pod |
|
|
Путь к репозиторию контейнерного образа |
|
|
Тег образа |
|
|
Политика загрузки образа. |
|
|
Аннотации, добавляемые ко всем создаваемым ресурсам |
|
|
Включение автоматического создания |
|
|
Аннотации, добавляемые ко всем создаваемым ресурсам |
|
|
Автоматическое монтирование учетных данных API в |
|
|
Дополнительные тома ( |
|
|
Дополнительные точки монтирования томов ( |
|
|
Включение |
|
extraObjects - дополнительные объекты Helm-чарта#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Добавление дополнительных динамических объектов в Helm-чарте. |
|
creator - метка создателя#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Служебное поле конвейера сборки ( |
|
enabled - состояние чарта#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Служебный флаг, используемый как условие включения Cert-manager при установке в качестве зависимого чарта ( |
|