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 "". 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: 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?
8 Answers
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!
3You 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-namespacestring namespace of Tiller (default "kube-system")
For more details check the helm READ.md file.
You installed tiller into a non-default namespace, so you have to tell helm where to look.
helm --tiller-namespace tiller version 1First 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 4Now 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
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):
- Download your desired version
- Unpack it
(tar -zxvf helm-v2.0.0-linux-amd64.tgz) - 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 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.
try
cp /usr/local/bin/tiller ~/.helm/ and check if the helm is deployed on server with
helm version