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
我有一个 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