X

How to install helm in kubernetes cluster


This article will guide you on how to install helm in kubernetes cluster. You might be aware that Helm is the package manger that can be deployed in kubernetes.


Using Helm you can deploy application and manage them easily.To read more about the helm please follow this link.

To show case the demo, we are going to install helm version 2 so that later may be we can see other post which can guide us on how to migrate to helm version 3.

Steps:

  • Create the service account required.
# kubectl create serviceaccount --namespace kube-system tiller
serviceaccount/tiller created
  •  Create the cluster role binding in the cluster.
# kubectl create clusterrolebinding tiller --clusterrole cluster-admin --serviceaccount=kube-system:tiller
clusterrolebinding.rbac.authorization.k8s.io/tiller created
  • Download the helm binaries and extract it. In this case we are installing helm version 2.16.9
# wget https://get.helm.sh/helm-v2.16.9-linux-amd64.tar.gz
# tar -zxvf helm-v2.16.9-linux-amd64.tar.gz
# cd linux-amd64/
# ls -ltr
total 78672
-rwxr-xr-x 1 root root 39919616 Jun 16 14:17 helm
-rwxr-xr-x 1 root root 40615936 Jun 16 14:20 tiller
-rw-r--r-- 1 root root     3444 Jun 16 14:20 README.md
-rw-r--r-- 1 root root    11343 Jun 16 14:20 LICENSE
  • Now move the helm binary to /usr/local/bin
# mv helm /usr/local/bin/helm
  • Check the version of the helm.
# which helm
/usr/local/bin/helm
# helm version
Client: &version.Version{SemVer:"v2.16.9", GitCommit:"8ad7037828e5a0fca1009dabe290130da6368e39", GitTreeState:"clean"}
Error: could not find tiller
# helm version --short
Client: v2.16.9+g8ad7037
  • Initialize the helm using helm init command as below.
# helm init --service-account tiller
Creating /root/.helm
Creating /root/.helm/repository
Creating /root/.helm/repository/cache
Creating /root/.helm/repository/local
Creating /root/.helm/plugins
Creating /root/.helm/starters
Creating /root/.helm/cache/archive
Creating /root/.helm/repository/repositories.yaml
Adding stable repo with URL: https://kubernetes-charts.storage.googleapis.com
Adding local repo with URL: http://127.0.0.1:8879/charts
$HELM_HOME has been configured at /root/.helm.

Tiller (the Helm server-side component) has been installed into your Kubernetes Cluster.

Please note: by default, Tiller is deployed with an insecure 'allow unauthenticated users' policy.
To prevent this, run `helm init` with the --tiller-tls-verify flag.
For more information on securing your installation see: https://v2.helm.sh/docs/securing_installation/
  • Cross check that tiller is running fine in the kubernetes using below command.
# kubectl -n kube-system get pod,deploy|grep -i tiller
pod/tiller-deploy-8488d98b4c-9xpbg    1/1     Running   0          14s
deployment.apps/tiller-deploy   1/1     1            1           14s
  • Once you see that tiller is running fine fire helm list command to cross verify. In the beginning it will show blank output.
# helm list

Some other commands to cross verify your helm:

# helm search jenkins
NAME            CHART VERSION APP VERSION       DESCRIPTION
stable/jenkins  2.1.0         lts               Open source continuous integration server. It supports mu...
# helm home
/root/.helm
# helm version --short
Client: v2.16.9+g8ad7037
Server: v2.16.9+g8ad7037
# helm repo list
NAME    URL
stable  https://kubernetes-charts.storage.googleapis.com
local   http://127.0.0.1:8879/charts

In case you want to install jenkins use below command:

# helm install stable/jenkins

Once installed you can list down it using below helm list command:

# helm list
NAME         REVISION   UPDATED                  STATUS      CHART             APP VERSION  NAMESPACE
khaki-kitten 1          Thu Jun 25 02:05:27 2020 DEPLOYED    jenkins-2.1.0     lts          default

So this is all about “How to install helm” in kubernetes and cross-verify it for successful installation.

Related Post