架構決策記錄:Kubernetes 容器編排
問題陳述
我們需要為不斷增長的雲原生應用組合選擇一個容器編排平臺。我們當前的傳統平臺部署過於緩慢,不夠敏捷,無法跟上我們日益增長的需求。我們正在尋找一個系統,使我們能夠以儘可能高效的方式擴充套件服務,同時不犧牲敏捷性或易用性。
考慮過的備選方案
Docker Swarm
Kubernetes
Apache Mesos
所做的決策
在對每個容器編排平臺進行全面分析之後,我們決定採用 Kubernetes,作為滿足企業需求的最佳選擇。我們選擇 Kubernetes 的理由如下:
可擴充套件性: Kubernetes 的獨特設計非常適合擴充套件應用,並且隨著我們對可擴充套件性的需求不斷演變,Kubernetes 內建的能力可以毫無問題地應對這些變化。
去中心化架構: Kubernetes 的主從(master-worker)拓撲確保了去中心化的架構,從而保證不存在單點故障。
社群支援: Kubernetes 擁有最大、最活躍的開源社群,這意味著它擁有大量的貢獻者、開發者和供應商,使我們更容易獲得幫助和找到資源。
生態系統支援: Kubernetes 擁有不斷壯大的生態系統,包括各種第三方工具,以及與容器映象儲存庫、CI/CD 流水線、資料儲存等的整合。
因此,我們決定在當前和不久的將來採用 Kubernetes 作為我們的容器編排平臺。