在使用kubectl port-forward
功能时,我能够成功地将本地端口转发到远程端口。但是,似乎在空闲几分钟后,连接就断开了。不知道为什么会这样。
下面是用于端口转发的命令:
kubectl --namespace somenamespace port-forward somepodname 50051:50051
错误信息:
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
如何能够保持连接?
将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
另外一种方式是在另一个终端中,每隔10秒连接一次该
端口
,以保持连接的活跃:while true ; do nc -vz 127.0.0.1 50051 ; sleep 10 ; done
这样来保持kubectl在失去连接时重新连接的状态。
谢谢,改了
streaming-connection-idle-timeout
好了!你的答案