cert-manager

В каждом кластере автоматически разворачивается Certificate для cert-manager

cert-manager — это нативный контроллер управления сертификатами Kubernetes, который автоматически генерирует и управляет TLS-сертификатами на основе ресурсов Certificate. Многие компоненты в Kubernetes кластерах используют cert-manager для управления своими TLS-сертификатами, обеспечивая безопасное взаимодействие.

Содержание

Обзор

Cert-manager управляет жизненным циклом сертификатов через Custom Resource Definitions (CRD) Kubernetes:

  • Certificate: Определяет сертификаты, которые необходимо управлять
  • Issuer/ClusterIssuer: Определяет эмитентов сертификатов
  • CertificateRequest: Внутренний ресурс для обработки запросов на сертификаты

Как это работает

Когда создаётся ресурс Certificate, cert-manager автоматически:

  1. Генерирует приватные ключи и запросы на подпись сертификата (CSR)
  2. Получает подписанные сертификаты от указанного Issuer
  3. Сохраняет сертификаты и приватные ключи в Kubernetes Secrets

Кроме того, cert-manager отслеживает срок действия сертификатов и обновляет их до истечения срока, чтобы обеспечить непрерывную доступность сервиса.

Определение сертификатов, управляемых cert-manager

Сертификаты, управляемые cert-manager, имеют соответствующие ресурсы Secret с типом kubernetes.io/tls и определёнными метками и аннотациями.

Распространённые метки и аннотации

Ресурсы Secret, управляемые cert-manager, обычно содержат следующие метки и аннотации:

Метки:

  • controller.cert-manager.io/fao: "true": Указывает, что этот Secret управляется cert-manager и включает фильтрацию кеша Secret контроллером.

Аннотации:

  • cert-manager.io/certificate-name: Имя сертификата
  • cert-manager.io/common-name: Общее имя сертификата
  • cert-manager.io/alt-names: Альтернативные имена сертификата
  • cert-manager.io/ip-sans: IP-адреса сертификата
  • cert-manager.io/issuer-kind: Тип эмитента сертификата
  • cert-manager.io/issuer-name: Имя эмитента сертификата
  • cert-manager.io/issuer-group: API-группа эмитента
  • cert-manager.io/uri-sans: URI Subject Alternative Names

Связанные ресурсы