簡介 Google Kubernetes Engine (GKE)
接著要介紹的重點-Google Kubernetes Engine,又稱 GKE,我想就是以上挑戰的解答。GKE 是一套由 Google Cloud 提供的雲代管 Kubernetes 服務,幫助你大幅簡化 Kubernetes 的管理與維運,如同其他雲端的資源一般,GKE 得益於雲端資源能有彈性的部署與新增資源,讓 Kubernetes 在 Workload 的設計與使用上更有彈性。
GKE 技術概覽
GKE 不僅僅作為雲端代管的 Kubernetes,得益於與雲端整合,GKE 還擁有以下這些更進階與便利的功能,包括:
- 與 GCP 的 Load Balancer 整合幫助你分導流量
- Node Pool 概念的引進,讓你可以部署並同時管理不同性能的機器,為不同 Use Case 的 Workload 準備其最適合的機器
- Autoscaling Node 的能力,讓 Kubernetes Cluster 在計算資源部署上更有彈性
- Auto-upgrading Node 能力,幫助你在有新版本的 Control Plane 時對 Node 同步自動進行漸進升級,降低維運成本提升安全性
- Node auto-repair 能力,保持 Node 健康以及可用
- Logging & Monitoring 與 GCP 整合,提供一個 Centralized 且功能豐富的監控環境
GKE 具備彈性架構幫助提升用戶服務可用性
在 GCP 上,我們可以將 Infrastructure 部署在不同 Zone 上來提升服務的可用性(Availability), GKE 也提供了多種的架構配置選擇,讓你在不同的情境下做預算與 Availability 之間的權衡。
在設定Standard GKE (Autopilot GKE 不在此討論範疇內)時,你會有 Zonal 與 Regional 兩種 Location type 可以選擇,無論使用哪一種,你都可以將 Worker Node 部署在多個 Zone 中,如果需要提升 GKE Workload 的 Availability,可以在設定 GKE 時勾選多個 Zone 來將 Worker Node 部署到多個 Zone 。
Zonal 與 Regional 之設定用於決定 Control Plane 的 Availability,在 Zonal 的設定下, Control Plane 僅會部署在一個 Zone 當中,當 Control Plane 所在的 Zone 發生 Zone Outage 或是 Control Plane 更新時,你的 Workload 仍然會繼續運行,但是你會無法對 Node, Workload 做設定,直到 Control Plane 恢復 Available 狀態;而在 Regional 的設定下,由於 GKE 會在多個 Zone 當中部署 Control Plane,在正常運行狀態下即便有單一 Zone Outage 又或是 Control Plane 更新的情境,Control Plane 還是可以被訪問的。Regional Cluster 提升了 Control Plane 的 Availability,Google 也建議針對 Production Workload 可以使用 Regional Cluster 藉以提升整體的 Availability。