我正在运行一个POD,其中有一个Java应用程序正在运行。该Java应用程序与本地的MySql进行对话。 MySql接受来自192. * ip的连接 我的Pod在IP为192. 的EKS工作节点上运行。我可以从工作节点远程登录Mysql。当pod启动时,Java应用程序尝试使用POD Ip(随机为172。 ip)连接到Mysql,但由于MySQL连接错误而失败。 我该怎么解决?
答案 0 :(得分:0)
尝试在pod内执行外壳程序,然后从那里连接到MySQL服务器。
kubectl exec -it -n <namespace-name> <pod-name> -c <container-name> -- COMMAND [args...]
例如:
kubectl exec -it -n default mypod -c container1 -- bash
然后检查MySQL连接:
#/> mysql --host mysql.dns.name.or.ip --port 3306 --user root --password --verbose
或使用常规工具启动另一个Pod并检查MySQL端口连接性:
$ kubectl run busybox --rm -it --image busybox --restart=Never
#/> ping mysql.dns.name.or.ip
#/> telnet mysql.dns.name.or.ip 3306
您应该看到一些与连接有关的信息,可以帮助您解决问题。
我可以猜到您只需要在MySQL主机或其默认网络路由器上添加一条到群集Pod网络的路由即可。