Kubernetes
解構 Kubernetes:從 Google 內部專案到雲端原生時代的基石
1. 前言:為何容器編排(Container Orchestration)是現代應用程式的命脈 現代軟體開發與交付的核心趨勢,已明確地轉向以容器(Container)為中心的模式。容器技術將應用程式及其所有執行時期(runtime)與相依套件打包成一個獨立、可執行的映像檔(image),徹底解決了「在我的機器上可以跑」的傳統難題。然而,當我們將這些輕量、可攜的容器部署到正式生產環境時,單純的容器技術反而衍生出新的、更為複雜的管理挑戰。 在正式環境中,應用程式必須滿足一系列嚴苛的要求,這些要求遠遠超出了單一容器自身所能提供的範疇。若缺乏一套系統性的管理機制,維運團隊將很快陷入困境: * 容錯能力(Fault-tolerance):單一容器或其所在的實體主機可能隨時發生故障。一個獨立的容器無法自我監測或在主機故障時遷移到健康的節點上。 * 彈性擴展(On-demand Scaling):面對突發的流量高峰,應用程式必須能即時、自動地擴展執行個體。單一容器無法自行複製以應對負載,手動介入不僅緩慢,也容易出錯。 * 資源最佳化(Optimal Resource Usage):如何在