Cert-Manager
The Cert-Manager addon automatically manages the cluster's SSL/TLS certificates: issuance, renewal and storage in Kubernetes Secrets. It supports Let's Encrypt (ACME) and private authorities.
In the console
- At creation, Addons step, Cert-Manager is checked by default.
- On an existing cluster: Edit > Extensions & Addons, check or uncheck Cert-Manager, then Save.
The cluster detail page shows Cert-Manager in the Extensions section when it is active.
Override the configuration
Once the addon is checked, the Helm Configuration (YAML) — optional field appears. The value is passed to the Cert-Manager Helm chart, under the cert-manager key. For example, to adjust the resources:
cert-manager-override.yaml
cert-manager:
resources:
requests:
cpu: 10m
memory: 32Mi
limits:
cpu: 100m
memory: 128Mi
The available options are described in the Cert-Manager Helm chart.
Usage in the cluster
The addon does not create any issuer: declare your ClusterIssuer (or Issuer) in the cluster, then reference it in your Ingresses.
cluster-issuer.yaml
apiVersion: cert-manager.io/v1
kind: ClusterIssuer
metadata:
name: letsencrypt-prod
spec:
acme:
server: https://acme-v02.api.letsencrypt.org/directory
email: admin@example.com
privateKeySecretRef:
name: letsencrypt-prod-account-key
solvers:
- http01:
ingress:
ingressClassName: nginx
kubectl apply -f cluster-issuer.yaml
# Track the certificates
kubectl get certificates -A
kubectl describe certificate <name> -n <namespace>
The full walkthrough is described in How to deploy an Ingress with TLS.
Best practices
- Keep Cert-Manager enabled as soon as you expose applications over HTTPS.
- Test with the Let's Encrypt staging server before using the production server.
- Regularly check the
READYstate of your certificates to anticipate renewal failures.