Helm: could not find tiller

8/2/2018

I'm getting this error message:

➜  ~ helm version
Error: could not find tiller

I've created tiller project:

➜  ~ oc new-project tiller
Now using project "tiller" on server "https://192.168.99.100:8443".

Then, I've created tiller into tiller namespace:

➜  ~ helm init --tiller-namespace tiller
$HELM_HOME has been configured at /home/jcabre/.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://docs.helm.sh/using_helm/#securing-your-helm-installation
Happy Helming!

So, after that, I've been waiting for tiller pod is ready.

➜  ~ oc get pod -w
NAME                             READY     STATUS    RESTARTS   AGE
tiller-deploy-66cccbf9cd-84swm   0/1       Running   0          18s
NAME                             READY     STATUS    RESTARTS   AGE
tiller-deploy-66cccbf9cd-84swm   1/1       Running   0          24s
^C%               

Any ideas?

-- Jordi
kubernetes-helm
openshift

7 Answers

2/25/2020

With helm 3 releases, we do not need tiller anymore. Try to upgrade the helm version to 3. It provides more security to your cluster.Because tiller runs in your Kubernetes cluster with full administrative rights, which is a risk if somebody gets unauthorized access to the cluster. If you migrate to helm3, you do not need to do helm init thereafter because helm version 3 is a tiller-less architecture.

-- Madeesha Fernando
Source: StackOverflow

2/7/2019

Try deleting your cluster tiller

kubectl get all --all-namespaces | grep tiller
kubectl delete deployment tiller-deploy -n kube-system
kubectl delete service tiller-deploy -n kube-system
kubectl get all --all-namespaces | grep tiller

Initialise it again:

helm init

Now add the service account:

kubectl create serviceaccount --namespace kube-system tiller
kubectl create clusterrolebinding tiller-cluster-rule --clusterrole=cluster-admin --serviceaccount=kube-system:tiller
kubectl patch deploy --namespace kube-system tiller-deploy -p '{"spec":{"template":{"spec":{"serviceAccount":"tiller"}}}}'

This solved my issue!

-- patilnitin
Source: StackOverflow

10/4/2018

You don't have helm configured yet, use the following command:

helm init

This will create .helm with repository, plugins, etc, in your home directory.

Background: helm comes with client and server, if you have a different deployment environment, it might be possible that your helm server (known as tiller) is different, in that case, there are two ways to point to tiller

  • set environment variable TILLER_NAMESPACE
  • --tiller-namespace string namespace of Tiller (default "kube-system")

For more details check the helm READ.md file.

-- Vishrant
Source: StackOverflow

8/2/2018

You installed tiller into a non-default namespace, so you have to tell helm where to look.

helm --tiller-namespace tiller  version
-- Marcin Romaszewicz
Source: StackOverflow

3/30/2019

First of all you need to create service account for teller to use in helm:

kubectl -n kube-system create serviceaccount tiller
kubectl create clusterrolebinding tiller --clusterrole cluster-admin --serviceaccount=kube-system:tiller
helm init --service-account tiller

To verify that Tiller is running:

kubectl get pods --namespace kube-system

DigitalOcean Reference

-- Ibrahim AlTamimi
Source: StackOverflow

12/31/2019

Now you can upgrade to the latest version of Helm or any version > 3.0.0.

You don't need to do

helm init

anymore.

The Tiller and client directories are initialised automatically when you start using helm. As mentioned here

-- Anirudh
Source: StackOverflow

1/9/2019

I was facing the same issue, try to re-install helm by using the commands below:

For linux: (Via Snap)

sudo snap install helm --classic

For Linux (from Binary source):

  1. Download your desired version
  2. Unpack it (tar -zxvf helm-v2.0.0-linux-amd64.tgz)
  3. Find the helm binary in the unpacked directory, and move it to its desired destination (mv linux-amd64/helm /usr/local/bin/helm)

For MacOS (Via brew):

brew install kubernetes-helm

For windows (Via Chocolatey):

choco install kubernetes-helm

And finaly, intialize the helm:

helm init
-- Abdul Rehman
Source: StackOverflow