`错误:在运行`helm version` 时找不到tiller`

EuR*_*rth 5 linux kubernetes kubectl minikube kubernetes-helm

我已经安装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"}
Run Code Online (Sandbox Code Playgroud)

然后我按照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
Run Code Online (Sandbox Code Playgroud)

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

$ helm version
Client: &version.Version{SemVer:"v2.13.1", GitCommit:"618447cbf203d147601b4b9bd7f8c37a5d39fbb4", GitTreeState:"clean"}
Error: could not find tiller
Run Code Online (Sandbox Code Playgroud)

我试过运行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
Run Code Online (Sandbox Code Playgroud)

我怎样才能helm正确初始化?

jt9*_*t97 10

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

您可以将 kubernetes 降级到 1.15.3 版

minikube start --kubernetes-version 1.15.3
helm init 
Run Code Online (Sandbox Code Playgroud)

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

您必须创建分蘖服务帐户ClusterRoleBinding

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

kubectl --namespace kube-system create sa tiller
kubectl create clusterrolebinding tiller --clusterrole cluster-admin --serviceaccount=kube-system:tiller
Run Code Online (Sandbox Code Playgroud)

并简单地创建分蘖

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 -
Run Code Online (Sandbox Code Playgroud)