Helm 列表尝试连接到本地主机而不是 Kubernetes

Helm list tries to connect to localhost rather than Kubernetes

我有一个 Kubernetes 集群 运行。所有 pods 都是 运行。这是一台装有 minikube 的 windows 机器。

但是helm ls --debug给出了以下错误

helm ls --debug
[debug] Created tunnel using local port: '57209'

[debug] SERVER: "127.0.0.1:57209"

Error: Get http://localhost:8080/api/v1/namespaces/kube-system/configmaps?labelSelector=OWNER%!D(MISSING)TILLER: dial tcp 127.0.0.1:8080: connect: connection refused

集群信息

kubectl.exe cluster-info
Kubernetes master is running at https://135.250.128.98:8443

To further debug and diagnose cluster problems, use 'kubectl cluster-info dump'.

kubectl 服务

kubectl.exe get svc
NAME         TYPE        CLUSTER-IP   EXTERNAL-IP   PORT(S)   AGE
kubernetes   ClusterIP   10.96.0.1    <none>        443/TCP   3h

可在 http://135.250.128.98:30000

访问仪表板

kube 配置:

apiVersion: v1
clusters:
- cluster:
    certificate-authority: C:\Users\abc\.minikube\ca.crt
    server: https://135.250.128.98:8443
  name: minikube
contexts:
- context:
    cluster: minikube
    user: minikube
  name: minikube
current-context: minikube
kind: Config
preferences: {}
users:
- name: minikube
  user:
    as-user-extra: {}
    client-certificate: C:\Users\abc\.minikube\client.crt
    client-key: C:\Users\abc\.minikube\client.key

有解决办法吗?大多数在线资源都说集群配置错误。但不确定什么配置错误以及如何解决此错误?

我遇到过这个问题并在 GitHub 上找到了解释。

在这种情况下,使其工作的首选方法是重建缺少环境变量的 docker 容器。这些行应该构建一个新图像:

cat << eof > Dockerfile 
FROM gcr.io/kubernetes-helm/tiller:v2.3.1 
ENV KUBERNETES_MASTER XX.XX.XX.XX:8080 
eof 

docker build -t tiller:latest . 

请用您的 Kubernetes Master IP 地址替换 XX.XX.XX.XX。

当我遇到同样的问题时,对我有用的方法是将 automountServiceAccountToken 更改为 true

使用以下命令编辑 tiller-deploy

kubectl --namespace=kube-system edit deployment/tiller-deploy

并将automountServiceAccountToken更改为true