I have a kubernetes cluster built using kubespray
and imported to Rancher.
The nodes are configured with
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:
Can someone help me to solve this error?
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.