Kubernetes_17_应用程序连接mysql IP 分析

在 上一章节,我们部署了spring boot应用程序到 k8s集群中,该应用程序链接的是外置的 mysql(mysql没有安装在k8s集群中),对于mysql而言,应用程序是使用的哪个ip和mysql连接的呢?

可以使用 mysql 命令查看 连接信息:

mysql> SHOW PROCESSLIST;

Kubernetes_17_应用程序连接mysql IP 分析_第1张图片

如上图可知,对于mysql而言,应用程序并不是使用 k8s容器中的 pod ip,而是k8s集群中的节点ip(192.168.1.183) ,这是因为 在 flannel 网络层对k8s 的pod ip进行一层转换,我们可以看看k8s集群中的 equipment-web 应用的pod ip 如下图:

Kubernetes_17_应用程序连接mysql IP 分析_第2张图片

当然,如果你想让mysql连接的应用程序ip显示为k8s集群中的pod ip,有两种方法(但一般无需这样做):

  • flannel 层不做转换
  • 将mysql 部署到 k8s集群中(在集群中的ip是可见的,不会转换)

你可能感兴趣的:(Kubernetes,mysql,kubernetes,tcp/ip)