How to Create SSL/TLS Certificate for Ingress Controller
You must have running applications on kubernetes cluster with ingress controller.
If you are new to kubernetes and want to learn about kubernetes from basics, Refer the below links and also you can checkout all tutorial videos for free on YouTube and do subscribe for more free videos.
What is Kubernetes – Learn Kubernetes from Basics
How to Install Kubernetes on Linux (RedHat / CentOS)
How to Install Kubernetes On Ubuntu 16.04 LTS
How to Create Kubernetes Deployment, Services & Pods Using Kubectl
How to Create Kubernetes YAML for Deployment, Service & Pods
Kubernetes Volumes Explained with Examples
Kubernetes Persistent Volumes and Claims Explained
Lets get started.
How to Create SSL/TLS Certificate for Ingress Controller
Create a Self Signed Certificate:
lets say i want to create a certificate for the domain knote.learnitguide.com.
Use openssl command to create a Self Signed SSL / TLS Certificate.
openssl req -x509 -nodes -days 365 -newkey rsa:2048 -out knote-ingress-tls.crt -keyout knote-ingress-tls.key -subj “/CN=knote.learnitguide.com/O=knote-ingress-tls”
Our self signed certificate is created under the local directory.
Create a Secret:
Use kubectl create secret command to create the secret.
kubectl create secret tls knote-ingress-tls –namespace default –key knote-ingress-tls.key –cert knote-ingress-tls.crt
You can use kubectl get secret command to list out the existing secrets.
kubectl get secret
Make sure the secret we have created is available.
Edit your ingress rule to specify the certificate:
Add a section for tls under spec. Define the list of host which al are going to use this particular certificate. Finally the specify the secretname with secretName option.
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: example-ingress
annotations:
ingress.kubernetes.io/rewrite-target: /
spec:
tls: – hosts: – knote.learnitguide.com secretName: knote-ingress-tls rules:
– host: knote.learnitguide.com
http:
paths:
– backend:
serviceName: knote
servicePort: 80
This is how we have to use the certificate for our applications.
Save and exit the ingress file. Apply the changes
kubectl apply -f ingressfile.yaml
Hope you have got an idea how to create and use our own SSL / TLS Certificate for our ingress controller.
Also refer below related articles and checkout all tutorial videos for free on youtube.
What is Kubernetes – Learn Kubernetes from Basics
How to Install Kubernetes on Linux (RedHat / CentOS)
How to Install Kubernetes On Ubuntu 16.04 LTS
How to Create Kubernetes Deployment, Services & Pods Using Kubectl
How to Create Kubernetes YAML for Deployment, Service & Pods
Kubernetes Volumes Explained with Examples
Kubernetes Persistent Volumes and Claims Explained
Keep practicing and have fun. Leave your comments if any.
Support Us: Share with your friends and groups.
Stay connected with us on social networking sites, Thank you.