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

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

我安装了 minikubekubectl

$ 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"}

然后我按照 https://helm.sh/docs/using_helm/ 的说明进行操作:

  1. 我已经下载了https://get.helm.sh/helm-v2.13.1-linux-amd64.tar.gz

  2. 我有运行

$ 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

但是现在,如果我检查我的 helm 版本,我会得到这个:

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

我已尝试 运行宁 helm init,但得到以下结果:

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

如何让 helm 正确初始化?

我遇到了同样的问题,@shawndodo 向我展示了这个 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 -

你可以试试这个。 (发布于

当前的 helm 版本不适用于 kubernetes 版本 1.16.0

您可以将 kubernetes 降级到 1.15.3 版本

minikube start --kubernetes-version 1.15.3
helm init 

或使用我的解决方案在 1.16.0 版本修复它

您必须创建舵柄 Service Account and ClusterRoleBinding

您可以使用这些命令简单地做到这一点:

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

然后简单地创建 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 -