Using HTTPS to publish your website or expose your API is a must today. Fortunately, the days when you had to spend hundreds of dollars and time to create and manage a valid TLS / SSL certificate are long gone.
Cert-Manager automates the provisioning of certificates within Kubernetes clusters. It provides a set of custom resources for issuing certificates and attaching them to services.
One of the most common use cases is to secure web applications and APIs with Let’s Encrypt SSL certificates.
Prerequisites
Before you get started, you’ll need to have these things:
A kubernetes cluster
A DNS domanin name
Helm
Installing cert-manager
Create a cert-manager namespace :
Disable resource validation on the cert-manager namespace
cert-manager deploys a webhook component to perform resource validations on Issuer, ClusterIssuer and Certificate. This webhook shouldn’t run on the same namespace the cert-manager is deployed on.
Add the required Helm repository :
Search for latest jetstack/cert-manager official Helm chart version :
Install the cert-manager Helm :
Verify installation :
Make sure custom resources *.cert-manager.io were created successfully :
Verify that ClusterIssuer is non-namespaced scoped (‘false’) ,so it can be used to issue Certificates across all namespaces :
And now you have installed cert-manager 😀
In the next post we will see how to use cert-manager in Traefik deployment.
Long gone are the days when obtaining a TLS certificate was expensive and time-consuming. Install cert-manager in your Kubernetes cluster once and take advantage of free automated TLS certificate registration and management