Sta*_*ley 16 kubernetes kubectl
在使用kubectl端口转发功能时,我能够成功地将本地端口转发到远程端口.然而,似乎在几分钟空转后,连接被丢弃.不知道为什么会这样.
这是用于移植的命令:
kubectl --namespace somenamespace port-forward somepodname 50051:50051
Run Code Online (Sandbox Code Playgroud)
错误信息:
Forwarding from 127.0.0.1:50051 -> 50051
Forwarding from [::1]:50051 -> 50051
E1125 17:18:55.723715 9940 portforward.go:178] lost connection to pod
Run Code Online (Sandbox Code Playgroud)
希望能够保持联系
Mar*_*cel 17
我通过保持连接活动来解决这个问题,例如使用 curl 或 nc。
转发端口:
kubectl --namespace somenamespace port-forward somepodname 50051:50051
Run Code Online (Sandbox Code Playgroud)
在另一个终端中,通过每 10 秒访问端口来保持连接处于活动状态:
while true ; do nc -vz 127.0.0.1 50051 ; sleep 10 ; done
Run Code Online (Sandbox Code Playgroud)
aka*_*ppi 15
似乎有5分钟的超时可以用kubelet
参数覆盖:
https://github.com/kubernetes/kubernetes/issues/19231
如果您想将超过5分钟(或无限制)的内容传递到您的kubelet中,您可以指定
streaming-connection-idle-timeout
.例如--streaming-connection-idle-timeout=4h
,将其设置为4小时.或者:--streaming-connection-idle-timeout=0
使其无限制.
小智 10
为窗户制作这样的蝙蝠(上帝原谅我)
:1
oc port-forward PODNAME 8003:8080
goto 1
Run Code Online (Sandbox Code Playgroud)
小智 8
将kube设置streaming-connection-idle-timeout
为0应该是正确的解决方案,但是如果您不想更改任何内容,则可以使用while-do构造
格式: while true; do <<YOUR COMMAND HERE>>; done
因此,只需在CLI中输入:while true; do kubectl --namespace somenamespace port-forward somepodname 50051:50051; done
应保持kubectl在连接丢失时重新连接
归档时间: |
|
查看次数: |
8837 次 |
最近记录: |