`Error: could not find tiller` when running `helm version`

坚强是说给别人听的谎言 提交于 2019-12-04 06:58:30

问题


I have minikube and kubectl installed:

$ minikube version
minikube version: v1.4.0
commit: 7969c25a98a018b94ea87d949350f3271e9d64b6

$ kubectl version
Client Version: version.Info{Major:"1", Minor:"16", GitVersion:"v1.16.0", GitCommit:"2bd9643cee5b3b3a5ecbd3af49d09018f0773c77", GitTreeState:"clean", BuildDate:"2019-09-18T14:36:53Z", GoVersion:"go1.12.9", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"16", GitVersion:"v1.16.0", GitCommit:"2bd9643cee5b3b3a5ecbd3af49d09018f0773c77", GitTreeState:"clean", BuildDate:"2019-09-18T14:27:17Z", GoVersion:"go1.12.9", Compiler:"gc", Platform:"linux/amd64"}

I have then followed the instructions from https://helm.sh/docs/using_helm/:

  1. I have downloaded https://get.helm.sh/helm-v2.13.1-linux-amd64.tar.gz

  2. I have run

$ tar -xzvf Downloads/helm-v2.13.1-linux-amd64.tar.gz linux-amd64/
linux-amd64/LICENSE
linux-amd64/tiller
linux-amd64/helm
linux-amd64/README.md

But now, if I check my helm version, I get this:

$ helm version
Client: &version.Version{SemVer:"v2.13.1", GitCommit:"618447cbf203d147601b4b9bd7f8c37a5d39fbb4", GitTreeState:"clean"}
Error: could not find tiller

I have tried running helm init, but get the following:

$ helm init
$HELM_HOME has been configured at /home/SERILOCAL/<my-username>/.helm.
Error: error installing: the server could not find the requested resource

How can I get helm to initialise correctly?


回答1:


The current helm version does not work with kubernetes version 1.16.0

You can downgrade kubernetes to version 1.15.3

minikube start --kubernetes-version 1.15.3
helm init 

or use my solution to fix it at version 1.16.0

You have to create tiller Service Account and ClusterRoleBinding.

You can simply do that by using those commands:

kubectl --namespace kube-system create sa tiller
kubectl create clusterrolebinding tiller --clusterrole cluster-admin --serviceaccount=kube-system:tiller

And simply create tiller

helm init --override spec.selector.matchLabels.'name'='tiller',spec.selector.matchLabels.'app'='helm' --output yaml | sed 's@apiVersion: extensions/v1beta1@apiVersion: apps/v1@' | kubectl apply -f -



回答2:


I met with the same problem, @shawndodo showed me this https://github.com/helm/helm/issues/6374#issuecomment-533427268

helm init --service-account tiller --override spec.selector.matchLabels.'name'='tiller',spec.selector.matchLabels.'app'='helm' --output yaml | sed 's@apiVersion: extensions/v1beta1@apiVersion: apps/v1@' | kubectl apply -f -

you can try this one. (Posted on this question)



来源:https://stackoverflow.com/questions/58096041/error-could-not-find-tiller-when-running-helm-version

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!