docker - 在 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
设置该标志,以便我的端口转发不会超时?
解决方案
端口转发通常用于短期调试,而不是“小时”。您可能想要的是一个 NodePort 类型的服务,然后您可以直接连接到该服务。
推荐阅读
- mongodb - Docker中的SpringBoot未连接到服务器上的Mongo(非Dockerized)
- redirect - 如何创建将 Google Home 重定向到广播电台的 Google Action Intent?
- python - Python Pillow 和 Tkinter 通过调整窗口大小来调整图像大小
- cloud - 多次记录光子云上open unity 可执行文件的性能测试
- php - mysql优化一个类别的广告数量
- python - 如何通过匹配其他列中的值来填充列子集中的缺失值?
- database - Future Builder中来自snapshot.data的Flutter Floor数据库?
- r - 多元线性回归的循环
- c# - 如何在非 MonoBehaviour 类中等待,而不返回任何内容
- postgresql - postgres,go-gorm - 无法预加载数据