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.