容器访问数据库方式?

1. 容器直接访问数据库,是开放容器node主机的IP和端口白名单。为了防止pod的漂移后也需要访问数据库,一般是开放整个业务集群所有node的IP 白名单。甚至,也需要开放master节点的数据库白名单。
2. 经过Outbound路由,是pod直接访问数据库么?白名单怎么开,有什么不一样?

参与5

2同行回答

GaryyGaryy系统工程师某保险
大多数 Kubernetes 用户都有可能用到集群外部的服务。如果位于不同环境中的应用连接相同的外部端点,并且您不打算将外部服务引入 Kubernetes 集群,那么在代码中直接使用外部服务端点是完全可以的。然而,很多时候情况并非如此。数据库就是一个很好的例子。虽然一些云原生数据...显示全部

大多数 Kubernetes 用户都有可能用到集群外部的服务。如果位于不同环境中的应用连接相同的外部端点,并且您不打算将外部服务引入 Kubernetes 集群,那么在代码中直接使用外部服务端点是完全可以的。然而,很多时候情况并非如此。数据库就是一个很好的例子。虽然一些云原生数据库(如 Cloud Firestore 或 Cloud Spanner)对所有访问均使用一个端点,但大多数数据库对不同实例都有单独的端点。
例如,一个常见场景是在集群外部托管自己的数据库,例如在 Google 计算引擎实例中。如果在 Kubernetes 内部和外部分别运行一些服务,或者需要在 Kubernetes 允许的基础上获得更多定制或控制,通常可采用上述这种方式。
希望未来某个时候您可以将所有服务都移入集群内,但在此之前将是“内外混用”的状态。你可以使用静态 Kubernetes 服务来缓解上述痛点。
一般情况下,是不推荐直接访问数据库的直接访问,可以通过endpoint的方式

收起
保险 · 2020-09-09
浏览1061
mileskuomileskuo金融云架构师平安科技
容器pod的代码里是如何访问数据库endpoint地址呢?比如数据库在VPC的endpoint地址是databse.xxx.cloud,  pod代码是直接访问这个内部域名么?Calico BPG可以理解,路由表广播出去了。如果是Calico IPIP., node之间的访问好理解,calico IPIP负责封装和解包,但是访问外部数据...显示全部

容器pod的代码里是如何访问数据库endpoint地址呢?比如数据库在VPC的endpoint地址是databse.xxx.cloud,  pod代码是直接访问这个内部域名么?Calico BPG可以理解,路由表广播出去了。
如果是Calico IPIP., node之间的访问好理解,calico IPIP负责封装和解包,但是访问外部数据库,如何解包呢?

收起
银行 · 2020-09-10
浏览940

提问者

mileskuo
金融云架构师平安科技
擅长领域: 云计算容器容器云

问题来自

相关问题

相关资料

相关文章

问题状态

  • 发布时间:2020-09-09
  • 关注会员:2 人
  • 问题浏览:1833
  • 最近回答:2020-09-10
  • X社区推广