多机房下的 Kubernetes 演进
1. 应用架构与业务发展、运维能力匹配
如上图,在业务发展的早期,我们可以在客户聚集的区域部署应用,就近提供服务。每个 Location 都能提供独立、完整的对外服务。Location 与 Location 之间可以通过公网互联,建立隧道,实现控制流的传输。这里的控制流并不只是局限于指令类,还可以是用户的元数据等,但是不应该传输用户产生的数据,比如上传的图片、文档等。由于业务的隔离,在每个 Location 会部署很多的 Kubernetes。单个 Kubernetes 的节点越少,越易于维护,爆炸半径越小,风险越可控。但这也意味着,我们会有很多的集群,而管理和维护这些集群也需要人力投入。同时,集群版本差异,也会增加开发适配难度、影响应用技术选型、削弱积累的运维经验价值。
3. 中期多区下的 Kubernetes

- 调度效率
- 网络管理
- 服务转发
- 计量计费
- …
- 超大的伸缩空间
- 更好的集群管理