Skip to main content
In this tutorial, you’ll learn how to install Cert-Manager on Kubernetes and obtain an SSL certificate from Let’s Encrypt to secure a Traefik Ingress. We’ll walk through:
  1. Installing Cert-Manager with Helm
  2. Reviewing the sample “whoami” app and existing Ingress
  3. Creating a Let’s Encrypt staging Issuer
  4. Applying the Issuer and validating resources
  5. Updating the Ingress to request TLS
  6. Verifying the ACME challenge and certificate issuance
  7. Creating a Let’s Encrypt production Issuer and switching over

1. Install Cert-Manager

First, ensure you have Helm installed and a Kubernetes context pointing at your control plane.
Wait until all pods in the cert-manager namespace are in the Running state:
Make sure your cluster meets the Cert-Manager prerequisites.

2. Review the Test App and Ingress

We have a simple “whoami” deployment in the default namespace, fronted by Traefik:
Example output:
Check the existing Ingress:
Describe it:

3. Create a Let’s Encrypt Staging Issuer

To prevent hitting rate limits, start with the staging environment. Save this as staging-issuer.yaml:
Apply and inspect:
You should see letsencrypt-staging in the secret list.

4. Update the Ingress for TLS

Modify whoami-ingress.yaml to include the Cert-Manager annotation and a TLS block:
Apply the updated Ingress:
Ensure DNS for test-example.com points to your Traefik load balancer before requesting a certificate.

5. Verify the ACME Challenge and Certificate Issuance

Describe the Ingress again to confirm ACME resources:
Look for:
  • A cm-acme-http-solver-… backend under the ACME challenge path
  • An event CreateCertificate indicating web-ssl was requested

6. Create a Let’s Encrypt Production Issuer

Once staging is validated, switch to the production environment. Create prod-issuer.yaml:
Apply and verify:

7. Switch Ingress to Production Issuer

Update the Ingress annotation to use the production Issuer:
Describe the Ingress to confirm renewal:
In the events, you should see:
Your Traefik Ingress is now secured with a Let’s Encrypt production certificate.

Issuer Configuration Summary


References

Watch Video

Practice Lab