Install Cert-Manager
Cert-manager simplifies the process of obtaining, renewing and using certs in your kubernetes cluster. We’ll install cert-manager using the Jetstat Helm repository.
Install Cert-Manager
-
We’ll start off by adding the helm chart to our local helm repository.
$ helm repo add jetstack https://charts.jetstack.io && helm repo update
-
Install Custom Resource definitions
Once we’ve added the chart, we’ll add the Custom Resource Definitions:
$ kubectl apply -f https://github.com/cert-manager/cert-manager/releases/download/v1.7.1/cert-manager.crds.yaml
-
Install cert-manager
Now we’re ready to add cert-manager:
$ helm install \ cert-manager jetstack/cert-manager \ --namespace cert-manager \ --create-namespace \ --version v1.7.1
-
Create certificate Issuer
With cert-manager installed, we’re now ready to create a certificate issuer. We’ll be using Let’s Encrypt.
-
We’ll start off by creating the cert-issuer directory in your
~/k3s/
folder$ mkdir -p ~/k3s/cert-issuer && cd ~/k3s/cert-issuer
-
Next, inside the cert-issuer folder, we’ll create the issuer.yaml file.
apiVersion: cert-manager.io/v1 kind: ClusterIssuer metadata: name: letsencrypt-production # for staging, change this to letsencrypt-staging spec: acme: server: https://acme-staging-v02.api.letsencrypt.org/directory email: [email protected] # input your email here privateKeySecretRef: name: letsencrypt-production # for staging, change this to letsencrypt-staging solvers: - http01: ingress: class: nginx
-
apply the yaml file
$ kubectl apply -f issuer.yaml clusterissuer.cert-manager.io/letsencrypt-production created
-