我自己的建议是每个机房下可以有多个集群,不同容器集群之间的访问可以通过固定的网络通道互联互通,比如有个公有的互联互通区,通过开通网络安全策略实现互访,同一集群内可以通过设置networkpolicy来控制访问权限。
不同集群互访涉及到对于动态ip的处理,因为容器具有漂移性,ip不固定,一种做法是ip固定,一种做法是容器漂移后动态去设置安全策略
收起在传统数据中心里面,容器网络不能跨网络安全逻辑区。所以每个网络安全逻辑区都有一个K8S集群,采用多集群管理的设计。
不同的K8S集群可以使用不同的网络插件。建议根据实际需求规划设计,如:
1、是否支持对现有网络侵入性,比如网络部门是否同意配置BGP协议
2、是否需要扁平网络。考虑应用改造成本,分布式应用上云使用扁平网络改造成本比较小
3、是否需要固定IP。考虑有些第三方系统或应用有固定IP需求
4、是否需要支持网络策略Network policy,是否是网络安全强需要
5、底层IAAS是否是SDN网络,对性能有没有强要求
6、是否需要支持双栈IPV6
先考虑好需求,就能根据不同网络插件的特性就能自然的得出网络规划,当然中间可能有冲突的点也需要做一些取舍