Helm: could not find tiller
Solution 1:
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!
Solution 2:
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.
Solution 3:
You installed tiller into a non-default namespace, so you have to tell helm where to look.
helm --tiller-namespace tiller version
Solution 4:
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