EKS auto mode

介紹 EKS Auto mode 與傳統 EKS 手動模式的差異、與 Fargate/EC2 node 的比較,以及 EC2 + Fargate 混合架構的取捨。

發佈 ~3 分鐘 #EKS

Introduction

EKS Auto mode 是 AWS 在 2024 年推出的新功能,全名是 EKS Cluster Auto mode。它的目的是「更自動化地管理 Kubernetes cluster」,讓用戶不用再自己處理控制面 (control plane)、節點群組 (node group) 的部署和管理。

重點整理:

  • 全託管控制面:你不用再自己建 worker node,Auto mode 會全自動處理。
  • 節點管理自動化:不需要手動建立 Node Group,AWS 幫你自動擴展和管理。
  • 資源最佳化:配合 Fargate 或 EC2,根據應用程式需求自動調整資源。
  • 內建最佳實踐:安全、可觀測性、自動更新等都會內建好,減少手動設定的麻煩。

適用場景:

  • 快速啟動 Kubernetes 環境,不想花時間設計基礎架構的人。
  • 減少維運成本,尤其是小型團隊、POC、邊緣應用。
  • 配合 AWS 雲原生服務做簡化部署。

對比傳統 EKS (manual mode):

功能傳統 EKS (手動模式)EKS Auto mode
Control Plane 管理手動建立與更新AWS 自動管理
Node Group自己建立與維護AWS 自動建與擴展
升級與修補自行規劃自動處理
運維負擔較高較低
彈性與自訂高較低,但簡單

注意:

Auto mode 是「省心但彈性低」的選擇,很多低層設定像是節點類型、AMI 自訂、CNI 插件設定等可能沒辦法像傳統模式一樣自訂。

適合快速交付專案或開發測試環境,不一定適合 production critical workload。

Auto mode 跟 Fargate / EC2 node 差異

特徵Auto mode + FargateAuto mode + EC2 node傳統 EKS EC2 node
節點型態Serverless PodEC2 Instance nodeEC2 Instance node
適用場景短時間 job,輕量服務穩定運行的 workload高度自訂、複雜環境
啟動速度極快快取決於 AMI 與設定
彈性配置低中高
成本效率小規模時高效,大規模可能貴大規模相對划算視情況而定
維護負擔最低低中高
運行時選擇AWS FargateAWS EC2AWS EC2,自訂

Auto mode 可以混合用 Fargate 和 EC2 node,AWS 會自動安排 workload。

📊 Classic mode + Fargate vs Auto mode 架構圖

  • Classic mode + Fargate

                        [ AWS EKS Control Plane ]
                                   |
            --------------------------------------------------
            |                                                |
    [ EC2 Managed Node Group ]                    [ Fargate Profile (Serverless) ]
            |                                                |
      [Pod-A] [Pod-B] (常駐服務)                      [Pod-C] [Pod-D] (Job / 測試 / 短命服務)
    
    # 關鍵:你自己管理 EC2 Node Group。
    # Fargate Profile 是你定義 selector,控制哪些 Pod 用 Fargate。
  • Auto mode

                        [ AWS Auto mode Control Plane ]
                                   |
           [ AWS 自動管理的 Compute Plane (EC2 + Fargate) ]
                                   |
      [Pod-A] [Pod-B] [Pod-C] (所有 workload AWS 自動分配 EC2 or Fargate)
    
    # 關鍵:AWS 自動幫你選擇 EC2 instance 或 Fargate。
    # 你無需定義 node group,也不用建 Fargate profile。
  • Comparison

    項目Classic mode + FargateAuto mode
    Control plane 管理AWS 管AWS 管
    Node Group 管理你自己管理AWS 全自動
    Fargate Profile 定義你自己定義 namespace/labelAWS 自動選擇
    彈性 & 可控性高低(交給 AWS)
    運維負擔中等(EC2 Node 要自己管)低(AWS 全代管)
    適用場景混合架構、legacy-friendly全新專案、快速交付環境

🎯 EC2 + Fargate 混合架構的優勢

優點:

  • 適合「短命、非持久化」的 workload,比如 job runner、batch task。
  • 可以減少 node 管理負擔。
  • 成本可控:小規模用 Fargate 反而省錢,省下 Idle node 的成本。

注意事項:

  • Fargate 不能跑 DaemonSet(像 node-exporter、log agent)。
  • Fargate Pod 無法掛 EBS volume,只能用 EFS 或 ephemeral storage。
  • Pod 啟動速度比 EC2 node group 稍慢。
  • Fargate Profile 需要提前規劃好 namespace / label selector。

可用來「平衡成本、彈性與維運負擔」,同時兼顧 Legacy 需求 + 雲原生 Serverless。

適用的典型場景:

場景說明使用原因
Legacy + 新服務混合環境你的老系統需要跑 DaemonSet / host-level volume,新服務想要 serverless。✅ EC2 跑 legacy,Fargate 跑新微服務。
節點成本最佳化長時間運行的 workload 放 EC2(可用 spot 節省成本),間歇性工作負載跑 Fargate。✅ 控制 idle cost,峰值自動用 Fargate 撐。
季節性/間歇性流量爆發EC2 跑 baseline 負載,流量爆炸時 Fargate 自動補上。✅ 不用提前多備 node group。
CI/CD pipeline 動態測試環境開發 / 測試分支自動 deploy Fargate,節省測試環境成本。✅ 短時間自動建測試環境,跑完就自動銷毀。
小規模多集群策略每個小專案不用準備 node group,統一跑在 Fargate。大型服務自己 EC2 node group。✅ 管理集中又不失彈性。

管理上比較麻煩的原因

  • 需要管理兩套執行層:
    • Node group 要 patch、升級。
    • Fargate Profile 要維護 selector、policy。
  • Monitoring & Logging 要拉通兩邊。

這個架構是 trade-off,「比純 EC2 好維運,比純 Auto mode 更自由,但需要多一點 initial complexity」