首页 新闻 会员 周边 捐助

K8s环境中MySQL外部访问连接失效的问题

-1
悬赏园豆:200 [待解决问题]

大佬们,能问大家一个问题吗

我们这边使用k8s部署的开发环境(单master节点,master节点同时作为工作节点),其中MySQL也是使用k8s部署的
现在的问题是,从外部访问MySQL(8.3.0版本)的时候会出现连接持续一段时间后就失效了,具体现象是查询会有很长的超时等待,重新建立连接后恢复。

这个问题只有从外部访问MySQL的时候会出现,我们把应用部署到k8s中,应用通过k8s的集群内网连接不会出现这个问题。

外部访问是通过NodePort端口访问的,内部访问是通过Headless访问的。

同样方式部署在开发环境的Redis不会有这个问题。

问题补充:

补充:
MySQL只部署了1个pod。

目前发现问题应该是和NodePort有关,因为尝试直接用hostPort的方式访问的时候问题就消失了。

所以现在的问题是,NodePort这里发生了什么?同样使用NodePort端口访问的Redis没有这个问题。

JXPanda的主页 JXPanda | 菜鸟二级 | 园豆:202
提问于:2024-11-13 14:11
< >
分享
所有回答(2)
0

MySQL 部署了几个 pod?推荐阅读:Load balancing and scaling long-lived connections in Kubernetes

dudu | 园豆:29732 (高人七级) | 2024-11-13 14:24

如果部署了多个 pod,建议改为1个pod试试

支持(0) 反对(0) dudu | 园豆:29732 (高人七级) | 2024-11-13 14:33

感谢大佬,因为是开发环境,只部署了1个pod。

支持(0) 反对(0) JXPanda | 园豆:202 (菜鸟二级) | 2024-11-13 14:37

@JXPanda: 用的是什么操作系统?

支持(0) 反对(0) dudu | 园豆:29732 (高人七级) | 2024-11-13 16:21
0

有没有在本机用公网ip进行访问过?先排除是不是dns解析问题

sudebao点com | 园豆:432 (菜鸟二级) | 2024-11-13 14:44

这个等我测试一下,但是似乎应该不是dns的问题,因为刚才我们改为用hostPort的方式暴露端口,然后问题就消失了。

支持(0) 反对(0) JXPanda | 园豆:202 (菜鸟二级) | 2024-11-13 14:50

@JXPanda: 那可能你使用的Kubernetes网络插件(如Flannel、Calico、Weave等)在外部访问时存在一些兼容性问题,可能会导致网络流量的不稳定,你用Ingress代替NodePort试试,没问题的话就用Ingress吧

支持(0) 反对(0) sudebao点com | 园豆:432 (菜鸟二级) | 2024-11-13 15:05

@sudebao点com: 感谢大佬,我去折腾一下试试

支持(0) 反对(0) JXPanda | 园豆:202 (菜鸟二级) | 2024-11-13 15:07
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册