Tutorial Highlights & Transcript
00:00 - What is a Helm Chart
01:05 - Flask App Deployment Diagram
01:39 - Deployment without Helm Diagram
02:14 - Deployment with Helm Diagram
02:43 - Demo - Creating a Helm Chart
So if we want to deploy this application without Helm, we have to deploy all the files individually. If we want to change our value, we have to change that value in all of our files.
To deploy this file using Helm, we first convert this file to Helm Chart. So to create Helm, we will run the command Helm-create and the name of the Helm Chart. Let’s see. Demo. It will create our Helm Chart and it has some dummy data in it. Let me show you. It has a chart .yaml file, where we have metadata of servers chart, and we have some dummy files in templates. We have values .yaml file in which we will write the values of our files.
04:42 - Demo - Deploying to Helm
We also have a quote function here if we want our value to be in double quotes. We can write this function so that whatever values we get from the value, it writes in the double quotes. The same samples I follow are in all the YAML files. I’m getting the values from the value-stored YAML file. In the value file, I write all the values. If I want to change a specific value, I have to change it just right here and it will automatically populate it in all the files.
If I want to deploy this Helm Chart in my cluster, I just write Helm-install and my app name, and the part of the repo where my chart is. By just running this single command, we can deploy our complete application. It will get deployed on my cluster by running just one command. Let me show you my app here. I have a deployment here, one plus deployment, and one stateful set, MySQL. All my ports are running and my services are running by just running one command. All of my manifest files are deployed in a cluster.
08:31 - Demo - Updating your Applications
To create a new revision, which is revision three in my case, which is the same replica of the previous revision, which is revision one. If I go to see my history, it created a new revision, which is basically a replica of my first revision, and it changed my replica back two. That’s how Helm can help us to deploy our application in Kubernetes. We can just use a single command to deploy and upgrade and to rollback our replication.
Maaz is a DevOps Engineer at nClouds and has a technical certification in AWS Certified Solutions Architect - Associate.