iT邦幫忙

2026 iThome 鐵人賽

DAY 23
0
Kubernetes

從零開始的雲端實戰:30 天 Kubernetes 核心觀念與部署指南系列 第 28

【Day 28】雲端託管 K8s 實戰:AWS EKS vs. GCP GKE 架構比較與架構選型

  • 分享至 

  • xImage
  •  

今日目標

  • 理解從「自建 K8s(Self-Hosted / Minikube)」走向「雲端託管 K8s(Managed K8s)」的商業與維運價值。
  • 掌握公有雲兩大龍頭:AWS EKS (Elastic Kubernetes Service)GCP GKE (Google Kubernetes Engine) 的架構核心差異。
  • 深入探討雲端原生的身分整合機制(AWS IRSA vs. GCP Workload Identity)與網路/儲存抽象。
  • 提供企業在多雲環境下的架構選型與成本最佳化策略。

為什麼企業幾乎不自己維護 Control Plane?

在 Day 03 中,我們學到了 Kubernetes 的大腦——Control Plane(API Server, etcd, Controller Manager, Scheduler)

如果你在實體機或自建雲(EC2 / GCE)上自建集群:

  1. etcd 的維護惡夢:etcd 是一個分散式強一致性資料庫,需要奇數台節點維護 Raft 共識。一旦硬碟 I/O 不足或網路抖動導致 etcd 腦裂,整個集群會瞬間癱瘓。
  2. 升級風險高:每三個月發布一次的 K8s 小版本升級,需要手動逐一升級 Control Plane 各元件,容錯率極低。
  3. 高可用性(HA)成本昂貴:為了保證高可用,光是 Control Plane 就要配置 3 到 5 台專用主機,維運人員需要 24 小時待命。

雲端託管服務(Managed Kubernetes) 徹底解決了這個問題:

  • 雲端大廠全面接管 Control Plane:包括高可用備份、自動容錯、一鍵平滑升級、etcd 自動備份,並提供高達 99.95% 的 SLA 保證。
  • 企業只需專注於 Worker Node 與應用程式本身

雙雄對決:AWS EKS vs. GCP GKE

AWS 與 GCP 作為雲原生領域的領頭羊,各自有著截然不同的設計哲學:

評比維度 AWS EKS GCP GKE
誕生背景 偏向企業保守與既有 AWS 生態相容 Kubernetes 本就是 Google 內部開源,原生血統最純正
開箱即用度 較為繁瑣,需手動配置 VPC CNI、EBS CSI Driver、IAM Role 等 Add-ons 極高,預設已整合 Cloud Monitoring、Cloud Logging 與 Ingress
運行模式 Standard(自管/託管 Node Group)與 Fargate(Serverless Pod) Standard 與 Autopilot(全託管 Serverless 模式,完全無需管 Node)
網路整合 AWS VPC CNI(Pod 直接取得真實 VPC 內部 IP) VPC-native 集群(Pod 擁有 GCP 虛擬 VPC 次級 IP 範圍)
控制平面費用 固定約 $0.10 USD / 小時 / 集群(約 $73 USD / 月) 每個帳號享有第 1 個集群免費,後續集群約 $0.10 USD / 小時

關鍵技術:雲端身分與權限深度整合

在 K8s Pod 內部的程式碼若要讀取雲端資源(例如讀取 AWS S3 Bucket 或 GCP Cloud Storage),最危險的作法是把 AccessKey / SecretKey 寫在 Secret 裡。

現代雲端架構均採用「Pod 身分直接綁定雲端 IAM 角色」的零信任架構:

1. AWS EKS:IRSA (IAM Roles for Service Accounts)

  • 透過 OIDC(OpenID Connect) 身分提供者,將 K8s 的 ServiceAccount 直接關聯到 AWS IAM Role。
  • Pod 啟動時自動取得臨時的 AWS STS Token,實現細顆粒度的雲端權限控制,完全零金鑰儲存。

2. GCP GKE:Workload Identity

  • GKE 的業界標準身分整合機制。
  • 將 K8s 的 ServiceAccount 直接對應到 GCP 的 Google Service Account (GSA)
  • 容器內呼叫 Google SDK 時自動完成身分換發,安全且設定極為優雅。

雲端 K8s 成本最佳化策略

在雲端運行 Kubernetes,算力成本佔了 80% 以上。常見的三大省錢絕招包括:

最佳化策略 原理說明 節省效益
Spot 實例(競價實例) 將無狀態或具備容錯能力的 Deployment 排程到雲端釋出的閒置算力(Spot / Preemptible VM)。 最高節省 70% - 90% 算力成本
Karpenter / Cluster Autoscaler 根據 Pod 的 pending 需求,動態開關 Worker Node,避免機器空轉。 避免浪費閒置 Node
HPA + PDB (Pod Disruption Budget) 在保證高可用的前提下精準控制副本數,並確保節點退役時服務不中斷。 資源利用率最大化

企業架構選型指南:我該選哪一家?

  • 選擇 AWS EKS 的時機

    • 企業既有的核心基礎設施(如 RDS、S3、DynamoDB、Redshift)已經重度綁定 AWS。
    • 團隊對 AWS IAM、CloudWatch 與 VPC 架構非常熟悉。
    • 需要高度客製化的網路與硬體配置(如 AWS Inferentia / Trainium AI 晶片算力群)。
  • 選擇 GCP GKE 的時機

    • 追求極致的雲原生體驗,希望將維運負擔降到最低(強烈推薦 GKE Autopilot 模式)。
    • 大量使用 BigQuery、Vertex AI 或大規模分散式機器學習運算。
    • 團隊規模精簡,不想花大量時間配置複雜的底層 K8s Add-on 元件。

本日小結

今天我們完成了從「本地玩具環境」到「企業雲端生產架構」的思維躍遷:

  • 理解了雲端大廠接管 Control Plane 所帶來的巨大商業價值。
  • 拆解了 AWS EKSGCP GKE 在架構、網路與身分整合(IRSA / Workload Identity)上的本質特點。
  • 掌握了 Spot 實例與動態節點擴縮的成本控制心法。

明天進入鐵人賽的倒數第二天 Day 29,我們將聚焦在最接地氣的實戰主題:「K8s 維運地獄:常見故障排除指南(CrashLoopBackOff、OOMKilled、Pending)」


上一篇
【Day 27】現代自動化部署:CI/CD 整合與 GitOps (ArgoCD) 核心概念
下一篇
【Day 29】K8s 維運地獄:常見故障排除指南(CrashLoopBackOff、OOMKilled、Pending)
系列文
從零開始的雲端實戰:30 天 Kubernetes 核心觀念與部署指南30
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言