📌 核心摘要
- 容器化(Containers)的概念:
- 容器是介於 IaaS(基礎設施)與 PaaS(平台)之間的混合概念。它將「應用程式及其所有依附元件、執行階段」打包在一起。
- 相比於傳統虛擬機器(VM)動輒數 GB、啟動需要幾分鐘,容器模擬的是作業系統,只需幾次系統呼叫即可建立,啟動速度極快(僅需數秒),且能在大規模主機上靈活調度。
- Docker 的角色:
- Docker 是一項用來將應用程式及所需一切封裝進容器的工具。
- 最大優勢是「高可攜性」:打包後的容器可以在任何支援 Docker 的地方執行(筆電、地端伺服器、雲端),簡化了開發、測試與部署的流程。
- Kubernetes 與 GKE 的自動化調度:
- Kubernetes(簡稱 K8s):由 Google 開啟的開源容器自動化調度管理工具,用來管理一整組主機上的容器叢集(自動擴充、縮減、健康監控、負載平衡)。
- GKE (Google Kubernetes Engine):Google Cloud 提供的全代管 Kubernetes 環境。它結合了 Google 內部管理數百億個容器的經驗,能自動根據 CPU 和記憶體需求來管理容器叢集,讓開發者免去維護基礎設施的麻煩。
💡 必考學習重點
- 容器 vs 虛擬機器 (VM):
- VM 包含笨重的訪客作業系統(Guest OS),啟動慢且成本高。
- 容器僅共用主機 OS 核心,輕量、啟動極快、成本低廉且具高度可攜性。
- Google 內部實際應用:Google 所有的核心服務(如 Gmail、搜尋、地圖等)全部都是在容器中運行的,每週啟動超過 200 億個容器。
- GKE 的定位:它是 Google Cloud 專為部署容器化應用程式所設計的代管環境,具備 PaaS 的靈活性與 IaaS 的底層彈性。