首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Kubernetes pod应用程序与不在容器上的Mysql数据库的连接

问Kubernetes pod应用程序与不在容器上的Mysql数据库的连接
EN

Stack Overflow用户
提问于 2020-06-12 20:19:47
回答 1查看 191关注 0票数 0

我的kubernetes POD运行在10.200.x.x子网上,mysql运行在简单的linux服务器上而不是容器上,我可以将K8的POD连接到非容器应用程序吗?如何连接数据库?由于我在一个网络限制很多的组织中工作,我必须打开端口和im才能访问,我是否可以将容器应用程序连接到非容器数据库,因为子网掩码也不同

EN

回答 1

Stack Overflow用户

发布于 2020-06-15 19:59:40

如果您可以从worker节点访问mysql,那么您也应该能够从该节点上运行的pod访问mysql。

检查您的公司防火墙,确保来自worker节点的数据包可以到达运行mysql的实例。还要确保这些网络不会以其他方式分开。

通常,从您的应用程序pod发送到mysql实例的数据包的源ip会设置为工作节点ip (因此您需要考虑从k8s节点到mysql实例的流量)。这是因为k8s网络(具有大多数k8s )是一种只有CNI节点才知道的虚拟网络,对于能够返回pod的外部流量,网络中的路由器需要知道将流量路由到何处。这就是为什么k8s网络外部的pod流量是NATed的原因。

对于大多数在k8s中封装内部流量的CNI来说,这是正确的,但请记住,也有一些CNI不封装流量,它使得直接从私有网络中的任何地方访问pods成为可能,而不仅仅是从k8s节点(例如Azure CNI)。

在使用NATed网络的第一种情况下,请确保从所有工作节点启用对mysql实例的访问,而不是只从一个工作节点访问,因为当这个特定节点关闭时,pod被重新调度到其他节点,它将无法连接到数据库。

在第二种情况下,您使用的是CNI,即使用直接联网(没有NAT),这是比较复杂的,因为当pod被重新安排时,它每次都会获得不同的ip,我无法帮助您,因为这都取决于特定的CNI。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62344166

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档