架構決策記錄:Kubernetes 容器編排
問題陳述
我哋需要為不斷增長嘅雲原生應用程式組合揀選一個容器編排平台。我哋現時嘅舊有平台部署太慢,亦唔夠敏捷,追唔上我哋日益增長嘅需要。我哋正尋找一個系統,令我哋可以用最高效嘅方式擴展服務,同時又唔犧牲敏捷性或者易用性。
考慮過嘅替代方案
Docker Swarm
Kubernetes
Apache Mesos
所作決策
對每個容器編排平台作出全面分析之後,我哋決定採用 Kubernetes,作為最適合我哋企業需要嘅選擇。我哋揀選 Kubernetes 嘅原因如下:
可擴展性: Kubernetes 獨特嘅設計非常適合擴展應用程式,而隨著我哋嘅可擴展性需求不斷演變,Kubernetes 具備內置能力,可以毫無問題咁應付呢啲變化。
去中心化架構: Kubernetes 嘅主從(master-worker)拓撲確保去中心化架構,意味住冇單點故障。
社群支援: Kubernetes 擁有最龐大同最活躍嘅開源社群,意味住有大量貢獻者、開發人員同供應商,令我哋更容易獲得協助同搵到資源。
生態系統支援: Kubernetes 擁有不斷增長嘅生態系統,有各種第三方工具、同容器登錄庫、CI/CD 管線、數據儲存等嘅整合。
因此,我哋決定採用 Kubernetes 作為我哋現時同短期內嘅容器編排平台。