cert-manager is an open-source, cloud-native certificate management controller designed specifically for Kubernetes. It provides a standardized way to automate the issuance, renewal, and management of X.509 machine identities as first-class resource types. By treating certificates as native Kubernetes objects, it ensures that containerized workloads remain secure and encrypted without requiring manual intervention from developers.
Kubernetes-native automation: cert-manager automates the issuance, renewal, and use of TLS certificates in Kubernetes and OpenShift environments.
Reduced outage risk: By renewing certificates before they expire, cert-manager helps prevent service disruptions caused by expired TLS certificates.
Broad issuer support: cert-manager can integrate with public and private certificate issuers, including Let’s Encrypt, HashiCorp Vault, and internal PKI systems.
Kubernetes resource model: It manages certificates through native Kubernetes custom resources such as Certificate, Issuer, and ClusterIssuer.
Cloud-native security operations: cert-manager helps organizations secure ingress, services, and workloads that rely on trusted encrypted connections.
In modern cloud-native environments, the sheer volume of microservices makes manual certificate management impossible. As organizations shift toward cloud security frameworks, every pod and service requires a unique identity to communicate securely.
cert-manager acts as the central brain within a Kubernetes cluster to facilitate this. It monitors the state of certificates and ensures they are valid and up to date, communicating with various "Issuers" to obtain signed certificates when needed.
Without an automated tool, developers would need to manually track expiration dates and update Kubernetes secrets every few months. In a cluster with hundreds of services, this leads to inevitable human error and service downtime. cert-manager abstracts this complexity, allowing teams to define "Certificate" resources once and let the controller handle the background logistics.
To understand the architecture, it is necessary to distinguish between the two primary Custom Resource Definitions (CRDs) that cert-manager introduces.
Issuers are the resources that define "where" certificates come from. An Issuer is scoped to a single namespace, while a ClusterIssuer is a global resource that can provide certificates to any namespace in the cluster.
The Certificate resource defines the desired state of a machine identity. It contains metadata such as the Common Name (CN), Subject Alternative Names (SANs), duration, and which Issuer to use:
| Component | Scope | Responsibility |
|---|---|---|
| Issuer | Namespace | Connects to a specific CA for one namespace. |
| ClusterIssuer | Cluster-wide | Provides CA connectivity for the entire cluster. |
| Certificate | Namespace | Defines the requirements for a specific TLS secret. |
| CertificateRequest | Internal | The temporary request sent to the Issuer for signing. |
The automation process follows a specific controller loop. When a user creates a Certificate resource, cert-manager generates a CertificateRequest. The controller then validates this request against the specified Issuer.
Implementing zero trust requires that no service is trusted by default, regardless of its location in the network. cert-manager facilitates this by ensuring every workload has a cryptographically verifiable identity.
Unit 42 Insight: Threat actors frequently target misconfigured Kubernetes clusters to move laterally. Unit 42 research indicates that many breaches stem from long-lived, static credentials. Automating short-lived machine identities via cert-manager significantly disrupts the attack lifecycle by making credential theft less effective over time.
A successful DevSecOps strategy shifts security "left," integrating it into the development pipeline. cert-manager enables this by allowing developers to request security resources (certificates) as part of their application deployment code.
Comparison: Manual vs. Automated Certificate Management
| Feature | Manual Management | cert-manager Automation |
|---|---|---|
| Speed | Variable (depends on renewal discipline) | Consistent (automated short-lived rotation) |
| Security | Low (Long-lived certs) | High (Short-lived, rotating) |
| Scalability | Non-existent | High (Unlimited services) |
| Visibility | Fragmented | Centralized in the K8s API |