“Error: forwarding ports: Upgrade request required” Error in helm of a kubernetes cluster

a 夏天 提交于 2019-12-11 06:47:48

问题


I have a kubernetes cluster built using kubespray and imported to Rancher.

The nodes are configured with

  • CentOS Linux 7 3.10.0-957.12.1.el7.x86_64
  • Docker version : 18.9.5
  • Kubelet version : v1.14.1
  • Tiller version : v2.14.1 ( got this version from the tiller pod's image gcr.io/kubernetes-helm/tiller:v2.14.1 )

All the tiller resources are working fine:

$ kubectl get all -n kube-system | findstr tiller

pod/tiller-deploy-57ff77d846-frtb7             1/1       Running   0          12d

service/tiller-deploy          ClusterIP   10.233.49.112   <none>        44134/TCP                16d

deployment.apps/tiller-deploy             1         1         1            1           16d

replicaset.apps/tiller-deploy-57ff77d846             1         1         1         12d
replicaset.apps/tiller-deploy-69d5cd79bb             0         0         0         16d

But when I run the helm commands, I am getting this error:

$ helm version

Client: &version.Version{SemVer:"v2.11.0", GitCommit:"2e55dbe1fdb5fdb96b75ff144a339489417b146b", GitTreeState:"clean"}
Error: forwarding ports: error upgrading connection: Upgrade request required

$ helm ls

Error: forwarding ports: error upgrading connection: Upgrade request required

I tried:

  • The tiller version is 2.14.1. So, upgraded the helm client to version 2.14.1 from 2.11.0. But that doesn't solve the issue.

Can someone help me to solve this error?


回答1:


Each time when you invoke Helm command a specific port on the host machine is proxied to the target tiller Pod port 44134, that is a simply inherited kubectl port-forward command and you can even find Go package portforward.go used by Helm client to initiate connection to the server. Therefore, issue that you are consulting here is mostly connected with port forwarding (tunneling) problem between Helm client and server parties.

I would probably establish manual port-forward check:

kubectl -n kube-system port-forward <tiller-deploy-Pod> <some_port>:44134

and even verify whether tiller service is listening on 44134 port:

kubectl exec -it <tiller-deploy-Pod> -n kube-system -- ./tiller

Find more information about Helm implementation in the official documentation.



来源:https://stackoverflow.com/questions/56864580/error-forwarding-ports-upgrade-request-required-error-in-helm-of-a-kubernete

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!