Helm 错误:错误:服务器已要求客户端提供凭据

VVP*_*VVP 6 kubernetes rancher kubernetes-helm

我已经安装了 Rancher 2 并创建了一个内部虚拟机的 kubernetes 集群(没有 AWS / gcloud)。

集群已启动并正在运行。

我登录到其中一个节点。

1) 安装 Kubectl 并执行 kubectl cluster-info 。它正确列出了我的集群信息。

2) 安装的舵

curl https://raw.githubusercontent.com/helm/helm/master/scripts/get > get_helm.sh
chmod 700 get_helm.sh
./get_helm.sh

root@lnmymachine # helm version
Client: &version.Version{SemVer:"v2.12.3", GitCommit:"eecf22f77df5f65c823aacd2dbd30ae6c65f186e", GitTreeState:"clean"}
Server: &version.Version{SemVer:"v2.12.3", GitCommit:"eecf22f77df5f65c823aacd2dbd30ae6c65f186e", GitTreeState:"clean"}
Run Code Online (Sandbox Code Playgroud)

3) 配置 helm 引用Rancher Helm Init

kubectl -n kube-system create serviceaccount tiller

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

helm init --service-account tiller
Run Code Online (Sandbox Code Playgroud)

尝试通过 helm 安装 Jenkins

root@lnmymachine # helm ls
Error: Unauthorized
root@lnmymachine # helm install --name initial stable/jenkins
Error: the server has asked for the client to provide credentials
Run Code Online (Sandbox Code Playgroud)

浏览了类似的问题,其中很少是由于多个集群造成的。我只有一个集群。kubectl 正确提供所有信息。

任何想法发生了什么。

Cro*_*rou 3

创建时似乎出现错误ClusterRoleBinding

相反--clusterrole cluster-admin,你应该有--clusterrole=cluster-admin

您可以通过验证 ServiceAccount、ClusterRoleBinding 是否已正确创建来检查是否存在这种情况。

kubectl describe -n kube-system sa tiller

kubectl describe clusterrolebinding tiller

似乎他们已经在Rancher Helm Init页面上修复了这个问题。