Once it is added to the binary directory, it can directly execute. Before getting into the installation, we need to understand the helm architecture and the significant difference between version 2 and version 3.
Difference between helm version 2 and version 3
Helm Version 2
As a part of this helm tutorial, we are going to discuss version 3. But still, understanding version 2 is essential.
First, let’s understand how version 2 was designed. Once the helm is installed, say I do have a helm, and the user can interact with the helm.
Within the Kubernetes cluster where I will use the helm, I need to install a service called tiller service. All the interactions between the helm and 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 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. The helm will use these charts. This is in version 2.
Helm Version 3
In version 3, there was a significant 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 significant change in version 3.
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, which is available as a binary file. The entire binary file will be available within the specific location.
Installation using the Binary Releases
I can choose whatever version is available. As a part of this particular tutorial, 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 of the Kubernetes cluster architecture, where I do have a master and three worker machines.
If you don’t have any access to the cluster, you can go ahead and do the installation of minikube.
So, once access to the cluster is available, you can use 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 to 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.