Set up Nginx Ingress Controller
New Namespace
First create a new namespace to install the Nginx Ingress Controller.Install the official Helm chart
Add the repo.Get the Ingress Controller’s hostname
This will be your ingress endpoint.Set up DNS (Important)
For each of those hostnames required by SuprSend, setup a A or CNAME record (based on the load balancer type) in your DNS zone. Each of those records should point at the load balancer host name mentioned above.This is a pre-requisite step before configuring Cert Manager. Cert Manager will not setup/renew SSL certificates unless the DNS records point at the load balancer address.
Set up Cert Manager
New Namespace
Install the chart
Create the Let’s Encrypt ClusterIssuer
Create a file named cluster-issuer.yaml:Configuring Ingress for each service
Then for service that needs ingress in SuprSend chart, pass the following values under ingress in Values.yaml of SuprSend chart:annotationsare required for Cert Manager to automatically generate a new SSL cert for the host name provided.ingressClassNameis “nginx” since we used Nginx as our Ingress controller.hostmust be the domain used to expose the service.tlsSecretKeyis the name of Kubernetes secret where SSL cert’s SSL cert and Private key will be stored by Cert Manager. This should be unique for each ingress service.
values.yaml. Chart will configure Ingress for each service with above values. And for each of the services & ingress and host names, Cert Manager will begin to create certificates, fulfil HTTP challenges and make the certificates ready for use in Service ingresses automatically. Cert Manager will also renew the certificates automatically when expiry date arrives, provided the DNS records created earlier in your DNS zone are still present.
After installing/upgrading the chart, use the following command to verify if SSL certificates are provisioned & ready.