In this tutorial, we are going to discuss about installation of helm. Helm is available as a binary file where the tar file can be downloaded and it can be extracted.
Once it is added into the binary directory, it can be directly executed. Before getting into the installation, we need to have an understanding of the helm architecture as well as the major difference between version 2 and version 3.
Difference between version 2 and version 3
Helm Version 2
As a part of this helm tutorials, we are going to discuss about version 3. But still understanding of version 2 is important.
First, let’s understand how version 2 was designed. Once the helm is installed, say I do have helm and the user can interact with the helm.
Within the Kubernetes cluster where I am going to use the helm, I need to install a service called tiller service and all the interaction between the helm and to the Kubernetes cluster will be happening through this particular tiller service.
And within the Kubernetes cluster, The tiller service will be getting executed and the communication will happen only between helm. This Tiller service actually communicates with the Kubernetes API to manage our Helm packages.
The tiller service and tiller service will take care of deploying various components within the Kubernetes cluster.
As per the charts available within the repository. So I will be getting different charts. This charts will be used by the helm. This is in version 2.
Helm Version 3
In version 3, there was a major change where this particular tiller service was gone. The helm will be interacting with the Kubernetes cluster directly and the access will be provided using role based access control.
So once if I have the Kubernetes cluster and have access to any client like helm, I can use the helm to deploy any service within the Kubernetes cluster and I can use the chart and deploy the entire application into the Kubernetes cluster. This is a major change in version three
So the one that we are going to see as a part of these helm tutorials is helm version 3, where I need to install only this helm client and that is available as a binary file and the entire binary file will be available within the specific location.
Installation using the Binary Releases
I can choose whatever the version that is available. As a part of this particular tutorial, the version 3.5.4 is the latest one.
Every release of Helm provides binary releases for a variety of OSes. These binary versions can be manually downloaded and installed.
- Download your desired version
- Unpack it (
tar -zxvf helm-v3.0.0-linux-amd64.tar.gz)
- Find the
helmbinary in the unpacked directory, and move it to its desired destination (
mv linux-amd64/helm /usr/local/bin/helm)
From there, you should be able to run the client and add the stable repo:
The one that I have is a Kubernetes cluster. Here I’m going to use the master machine as the client.
So before doing the installation, I need to have a quick understanding on the Kubernetes cluster architecture as well where I do have a master and three worker machines.
In case if you doesn’t have any access to the cluster, you can go ahead and do the installation of minikube.
So, once the access to the cluster is available, you can make use of it and the client can be installed. So finally, I have installed the helm as a part of the master machine.
Installation using Script
Helm now has an installer script that will automatically grab the latest version of Helm and install it locally.
You can fetch that script, and then execute it locally. It’s well documented so that you can read through it and understand what it is doing before you run it.
$ curl -fsSL -o get_helm.sh https://raw.githubusercontent.com/helm/helm/master/scripts/get-helm-3 $ chmod 700 get_helm.sh $ ./get_helm.sh
You can also install helm using package managers. You can refer here.