架构决策记录:Kubernetes 容器编排
问题陈述
我们需要为不断增长的云原生应用组合选择一个容器编排平台。我们当前的传统平台部署过于缓慢,不够敏捷,无法跟上我们日益增长的需求。我们正在寻找一个系统,使我们能够以尽可能高效的方式扩展服务,同时不牺牲敏捷性或易用性。
考虑过的备选方案
Docker Swarm
Kubernetes
Apache Mesos
所做的决策
在对每个容器编排平台进行全面分析之后,我们决定采用 Kubernetes,作为满足企业需求的最佳选择。我们选择 Kubernetes 的理由如下:
可扩展性: Kubernetes 的独特设计非常适合扩展应用,并且随着我们对可扩展性的需求不断演变,Kubernetes 内置的能力可以毫无问题地应对这些变化。
去中心化架构: Kubernetes 的主从(master-worker)拓扑确保了去中心化的架构,从而保证不存在单点故障。
社区支持: Kubernetes 拥有最大、最活跃的开源社区,这意味着它拥有大量的贡献者、开发者和供应商,使我们更容易获得帮助和找到资源。
生态系统支持: Kubernetes 拥有不断壮大的生态系统,包括各种第三方工具,以及与容器镜像仓库、CI/CD 流水线、数据存储等的集成。
因此,我们决定在当前和不久的将来采用 Kubernetes 作为我们的容器编排平台。