0

我有一个运行着 Java 应用程序的 POD。这个 Java 应用程序与本地的 MySql 对话。MySql 接受来自 192.* ip 的连接我让 pod 在 EKS 工作节点上运行,IP - 192 .. 我能够从工作节点远程登录 Mysql。当 pod 启动时,Java 应用程序尝试使用 POD Ip(这是一些随机的 172.ip)连接到 Mysql,但由于 MySQL 连接错误而失败。我该如何解决这个问题?

4

1 回答 1

1

尝试在 pod 内执行 shell 并从那里连接到 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 网络的路由。

于 2018-08-06T14:16:50.707 回答