«Ошибка: переадресация портов: требуется запрос на обновление» Ошибка в шлеме кластера kubernetes - PullRequest
0 голосов
/ 03 июля 2019

У меня есть кластер kubernetes, созданный с использованием kubespray и импортированный в Rancher.

Узлы настроены на

  • CentOS Linux 7 3.10.0-957.12.1.el7.x86_64
  • Версия докера: 18.9.5
  • Kubelet версия: v1.14.1
  • Версия Tiller: v2.14.1 (эта версия получена из образа модуля tiller gcr.io/kubernetes-helm/tiller:v2.14.1)

Все ресурсы румпеля работают нормально:

$ 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

Но когда я запускаю команды helm, я получаю эту ошибку:

$ 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

Я пытался:

  • Версия румпеля - 2.14.1. Итак, обновил клиент helm до версии 2.14.1 с 2.11.0. Но это не решает проблему.

Может кто-нибудь помочь мне решить эту ошибку?

1 Ответ

0 голосов
/ 04 июля 2019

Каждый раз, когда вы вызываете команду Helm, конкретный порт на хост-машине проксируется к целевому порту piller Pod 44134, который является просто унаследованной kubectl port-forward командой , и вы можете даже find Go пакет portforward.go , используемый клиентом Helm для установления соединения с сервер. Поэтому проблема, с которой вы здесь обращаетесь, в основном связана с проблемой переадресации (туннелирования) портов между клиентом и сервером Helm.

Возможно, я бы установил ручную проверку переноса порта:

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

и даже проверьте, прослушивает ли служба tiller 44134 порт:

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

Более подробную информацию о реализации Helm можно найти в официальной документации .

...