Automate SSL/TLS Management in OpenShift with cert-manager

This statement is describing a common enterprise Kubernetes/OpenShift automation pattern:

“Automated certificate lifecycle with cert-manager integrated with Let’s Encrypt, eliminating manual SSL/TLS renewal overhead across all cluster environments in OCP.”

What it means

Instead of administrators manually:

  1. Requesting SSL certificates
  2. Installing certificates on applications
  3. Tracking expiration dates
  4. Renewing certificates every 90 days
  5. Updating routes/ingress objects

The OpenShift cluster automatically handles the entire certificate lifecycle using:

  • cert-manager
  • Let’s Encrypt
  • OpenShift Routes / Ingress
  • Kubernetes Certificate resources

Traditional (Manual) Process

Without cert-manager:

Admin
|
+--> Generate CSR
+--> Submit to CA
+--> Receive certificate
+--> Create Kubernetes Secret
+--> Attach to Route/Ingress
+--> Track expiry date
+--> Renew every 90 days

Problems:

  • Human error
  • Expired certificates
  • Outages
  • Operational overhead
  • Difficult at scale

Imagine:

50 applications
x
3 environments
(dev, qa, prod)
=
150 certificates

Tracking them manually becomes painful.


Automated Process with cert-manager

Application
|
v
Certificate Resource
|
v
cert-manager
|
v
Let's Encrypt
|
v
Certificate Issued
|
v
Kubernetes Secret Updated
|
v
Route/Ingress Uses New Certificate

No human intervention required.


Components in OpenShift

1. cert-manager

A Kubernetes operator that:

  • Requests certificates
  • Stores them in Secrets
  • Monitors expiration
  • Automatically renews certificates

Installed as an Operator in OpenShift.


2. Let’s Encrypt

A free public Certificate Authority.

Provides:

  • Trusted SSL certificates
  • Automated issuance
  • Automated renewal

Certificates are typically valid for:

90 days

cert-manager renews them before expiration.


3. ClusterIssuer

Defines the CA to use.

Example:

apiVersion: cert-manager.io/v1
kind: ClusterIssuer
metadata:
name: letsencrypt-prod
spec:
acme:
email: admin@company.com
server: https://acme-v02.api.letsencrypt.org/directory
privateKeySecretRef:
name: letsencrypt-prod
solvers:
- http01:
ingress:
class: openshift-default

Think of ClusterIssuer as:

Certificate Factory Configuration

4. Certificate Resource

Application teams request certificates.

Example:

apiVersion: cert-manager.io/v1
kind: Certificate
metadata:
name: app-cert
spec:
secretName: app-tls
issuerRef:
name: letsencrypt-prod
kind: ClusterIssuer
dnsNames:
- app.company.com

When applied:

oc apply -f certificate.yaml

cert-manager automatically:

  • Contacts Let’s Encrypt
  • Validates domain ownership
  • Creates certificate
  • Stores it in a Secret

5. OpenShift Route

Uses the generated certificate.

spec:
tls:
termination: edge

Or references:

secretName: app-tls

Renewal Process

Before expiration:

Certificate expires in 30 days
|
v
cert-manager detects expiry
|
v
Requests new certificate
|
v
Updates Kubernetes Secret
|
v
Application continues running

No outage.

No ticket.

No manual work.


Enterprise OCP Architecture

                 Internet
                     |
                     v
              Let's Encrypt
                     |
                     v
         +----------------------+
         | OpenShift Cluster    |
         |                      |
         | cert-manager         |
         | ClusterIssuer        |
         +----------+-----------+
                    |
     ---------------------------------
     |               |              |
     v               v              v

   App1            App2          App3
app.company.com  api.company.com  portal.company.com

     |               |              |
     +------- Automatic TLS --------+


Interview Explanation (2-minute answer)

“We implemented cert-manager in OpenShift and integrated it with Let’s Encrypt to fully automate certificate management. Application teams simply create a Certificate resource, and cert-manager requests the certificate, stores it as a Kubernetes Secret, and attaches it to OpenShift Routes. It continuously monitors certificate expiration and automatically renews certificates before they expire. This eliminated manual SSL renewal activities, reduced operational effort, prevented certificate-related outages, and standardized TLS management across development, QA, and production clusters.”


Benefits for OCP Enterprises

BenefitValue
Automatic certificate issuanceNo manual requests
Automatic renewalsNo expiration outages
Centralized certificate managementEasier governance
Works across all namespacesScalable
Free CA with Let’s EncryptCost savings
GitOps compatibleArgoCD/Flux friendly
Kubernetes nativeDeclarative YAML
Security complianceAlways valid certificates

Real-world resume bullet

“Designed and implemented automated SSL/TLS certificate lifecycle management in OpenShift using cert-manager and Let’s Encrypt, enabling zero-touch certificate issuance and renewal across 100+ applications and eliminating certificate-expiry incidents in production environments.”

Leave a Reply