Kubernetes连接性

时间:2018-08-05 20:44:33

标签: kubernetes connectivity amazon-eks

我正在运行一个POD,其中有一个Java应用程序正在运行。该Java应用程序与本地的MySql进行对话。 MySql接受来自192. * ip的连接 我的Pod在IP为192. 的EKS工作节点上运行。我可以从工作节点远程登录Mysql。当pod启动时,Java应用程序尝试使用POD Ip(随机为172。 ip)连接到Mysql,但由于MySQL连接错误而失败。 我该怎么解决?

1 个答案:

答案 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网络的路由即可。