首页 > 解决方案 > 在 Kubernetes 中遇到端口转发的连接超时问题?

问题描述

我在 Docker for Mac 上运行一个 k8 集群。为了允许从我的数据库客户端连接到我的 mysql pod,我使用以下命令kubectl port-forward mysql-0 3306:3306。它工作得很好,但是几个小时后我收到以下错误E0201 18:21:51.012823 51415 portforward.go:233] lost connection to pod

我检查了实际的 mysql pod,它似乎仍在运行。每次我运行port-forward命令时都会发生这种情况。

我在这里看到了以下答案:kubectl port forwarding timeout issue,解决方案是使用以下标志--streaming-connection-idle-timeout=0,但现在不推荐使用该标志。

所以从那里开始,看来我必须通过 kubelet 配置文件(配置文件)设置该参数?我不确定如何实现这一点,因为 Docker for Mac 作为守护程序运行并且我不手动启动集群。

谁能给我一个代码示例或说明,说明我如何配置kubectl设置该标志,以便我的端口转发不会超时?

标签: dockerkubernetesdocker-for-mac

解决方案


端口转发通常用于短期调试,而不是“小时”。您可能想要的是一个 NodePort 类型的服务,然后您可以直接连接到该服务。


推荐阅读