对于两地三中心的数据中心架构,k8s集群建议一套还是各区域搭建各自k8s集群,各自有什么优缺点,对于多集群方案,每个集群3master时候过于冗余。
收起跨AZ/DC的双活指的是应用级别的双活,一般用跨AZ/DC的 LB + VIP来实现统一的流量入口。
但是并不等于同一个集群能够跨AZ的弹性扩容。问题在于AZ之间的网络质量如何保证?一般AZ之间是专线或者裸光纤,即使这样,也避免不了网络抖动。集群内部的组件之间的API调用,MQ,时间同步,DNS解析,状态同步,集群心跳之类的都会出现致命故障。分布式系统最怕网络不稳定了,组件之间太依赖网络的延时。
所以我所见到生产系统,都是各区域搭建各自k8s集群,前端LB负载均衡, 后端存储同步。如果要实现跨集群多个k8s联动扩缩容,可以在上面封装一层集群业务管理/编排功能,可能openshift有这样的功能吧,还需要专家确认。