協助改進此頁面
若要為本使用者指南貢獻內容,請點選每個頁面右側面板中的在 GitHub 上編輯此頁面連結。
利用 EKS 自動模式自動運作叢集基礎設施
EKS 自動模式將 AWS 對 Kubernetes 叢集的管理範圍,從叢集本身進一步延伸,讓 AWS 也能設定並管理基礎結構,確保您的工作負載順暢運作。您可委託關鍵基礎結構決策,並運用 AWS 的專業知識執行日常操作。由 AWS 管理的叢集基礎結構,會將多項 Kubernetes 功能作為核心元件 (而非附加元件) 納入,如運算自動擴展、Pod 與服務聯網、應用程式負載平衡、叢集 DNS、區塊儲存及 GPU 支援等。
若要開始使用,您可部署新的 EKS 自動模式叢集,也可在現有叢集上啟用 EKS Auto Mode。您可透過 eksctl、AWS CLI、AWS 管理主控台、EKS API,或您偏好的基礎結構即程式碼工具,以部署、升級或修改 EKS 自動模式叢集。
在 EKS 自動模式中,您仍可繼續使用偏好的 Kubernetes 相容工具。EKS 自動模式會與 Amazon EC2、Amazon EBS 及 ELB 等 AWS 服務整合,並運用符合最佳實務的 AWS 雲端資源。這些資源會自動擴展、最佳化成本,並定期更新,協助最大限度降低營運成本與負荷。
功能
EKS 自動模式提供以下進階功能:
簡化 Kubernetes 叢集管理:EKS 自動模式提供可直接用於生產環境的叢集,並將營運負荷降至最低,藉此簡化 EKS 管理流程。透過 EKS 自動模式,即使缺乏深厚的 EKS 專業知識,您也能安心執行高需求、動態的工作負載。
應用程式可用性:EKS 自動模式依據 Kubernetes 應用程式的需求,動態新增或移除 EKS 叢集中的節點。這能減少手動容量規劃的需求,並確保應用程式的可用性。
效率優化:EKS 自動模式的設計目標是在符合您的 NodePool 與工作負載需求所定義的彈性範圍內,最佳化運算成本。它還會終止未使用的執行個體,並將工作負載整合到其他節點,以提升成本效率。
安全性強化:EKS 自動模式使用被視為不可變的 AMI 來供您的節點使用。這類 AMI 會強制執行鎖定的軟體設定、啟用 SELinux 強制存取控制,並提供唯讀的根檔案系統。此外,由 EKS 自動模式啟動的節點有最長 21 天的生命週期 (您可縮短此期限),期滿後會自動被新節點取代。此機制透過定期更換節點增強安全狀態,與許多客戶已採用的最佳實務一致。
自動化升級:EKS 自動模式會確保您的 Kubernetes 叢集、節點及相關元件保持最新修補程式版本,同時尊重您設定的 Pod 中斷預算 (PDB) 和 NodePool 中斷預算 (NDB)。在最長 21 天的生命週期內,若有阻斷性的 PDB 或其他設定妨礙更新,可能需要手動介入。
受管元件:EKS 自動模式將 Kubernetes 與 AWS 雲端功能作為核心元件納入,而這些功能在過去需作為附加元件管理。其中包括對 Pod IP 位址指派、Pod 網路政策、本機 DNS 服務、GPU 外掛程式、運作狀態檢查程式及 EBS CSI 儲存的內建支援。
可自訂的 NodePool 與 NodeClass:若您的工作負載需要變更儲存、運算或聯網設定,可透過 EKS 自動模式建立自訂的 NodePool 與 NodeClass。雖然不建議編輯預設的 NodePool 與 NodeClass,但您可在預設設定之外新增自訂的 NodePool 或 NodeClass,以符合特定需求。
自動化元件
EKS 自動模式透過自動化關鍵基礎結構元件,簡化 Amazon EKS 叢集的操作。啟用 EKS 自動模式後,管理 EKS 叢集的任務將進一步減少。
下列是已實現自動化的資料平面元件清單:
-
運算:對於多數工作負載,透過 EKS 自動模式,您無需關注 EKS 叢集運算層面的許多細節。其中包含:
-
節點:EKS 自動模式節點的設計理念是將其視為專用設備來處理。EKS 自動模式會執行下列作業:
-
選擇合適的 AMI,該 AMI 已預先設定執行工作負載所需的多項服務,無需介入。
-
透過 SELinux 強制模式與唯讀根檔案系統,鎖定 AMI 上的檔案存取權;
-
禁止 SSH 或 SSM 存取,防止直接存取節點;
-
包含 GPU 支援,提供適用於 NVIDIA 與 Neuron GPU 的獨立核心驅動程式與外掛程式,支援高效能工作負載;
-
自動處理 EC2 Spot 執行個體中斷通知與 EC2 執行個體運作狀態事件
-
-
自動擴展:EKS 自動模式依賴 Karpenter
自動擴展功能,監控無法排程的 Pod,並部署新節點來執行這些 Pod。當工作負載終止時,EKS 自動模式會在節點不再需要時動態中斷並終止節點,最佳化資源使用率。 -
升級:透過掌控節點,EKS 自動模式能更順暢地提供安全性修補程式,以及必要的作業系統與元件升級。這些升級的設計旨在將工作負載的中斷降至最低。EKS 自動模式會強制執行最長 21 天的節點生命週期,確保軟體與 API 保持最新。
-
-
負載平衡:EKS 自動模式透過與 Amazon Elastic Load Balancing 服務整合,簡化負載平衡流程,自動為 Kubernetes Service 與 Ingress 資源佈建並設定負載平衡器。它支援 Application 與 Network Load Balancer 的進階功能、管理其生命週期,並根據叢集需求進行擴展。此整合提供符合 AWS 最佳實務的生產級負載平衡解決方案,讓您可專注於應用程式,而非基礎結構管理。
-
儲存:EKS 自動模式會為您設定暫時性儲存,包括設定磁碟區類型、磁碟區大小、加密政策,以及節點終止時的刪除原則。
-
聯網:EKS 自動模式會自動化 Pod 與服務連線所需的關鍵聯網作業。其中包括支援 IPv4/IPv6 協定,以及使用次要 CIDR 區塊來擴展 IP 位址空間。
-
Identity and Access Management:您無需在 EKS 自動模式叢集上安裝 EKS Pod 身分識別代理程式。
有關這些元件的更多資訊,請參閱 了解 EKS 自動模式的運作方式。
組態
儘管 EKS 自動模式能在無需您介入的情況下,有效管理大部分資料平面服務,但有時您可能需要調整部分服務的運作行為。您可透過下列方式修改 EKS 自動模式叢集的組態:
-
Kubernetes DaemonSets:無需修改安裝在節點上的服務,您可改用 Kubernetes DaemonSet。DaemonSet 專為由 Kubernetes 管理而設計,但會在叢集中的每個節點上執行。過這種方式,您可新增用於監控或其他節點管理場景的專用服務。
-
自訂 NodePool 與 NodeClass:預設 NodePool 和 NodeClass 由 EKS 自動模式設定,不建議自行編輯。要自訂節點行為,可針對以下使用案例建立額外的 NodePool 或 NodeClass,例如:
-
選取特定執行個體類型 (例如,加速處理器或 EC2 Spot 執行個體)。
-
隔離工作負載,以達成安全性或成本追蹤目的。
-
設定暫時性儲存設定,如 IOPS、大小和輸送量。
-
-
負載平衡:EKS 自動模式會將部分服務 (如負載平衡) 作為 Kubernetes 物件執行,這類服務可直接在 EKS 自動模式叢集上進行設定。
如需設定 EKS 自動模式的詳細資訊,請參閱 進行 EKS 自動模式設定。
共同責任模式
AWS 共用責任模型界定了 AWS 與客戶之間在安全性及合規性方面的責任範圍。以下映像\與文字比較和對比了 EKS 自動模式與 EKS 標準模式之間,客戶與 AWS 責任的差異。
EKS 自動模式將 Kubernetes 基礎結構的大部分共用責任從客戶轉移至 AWS。在 EKS 自動模式下,AWS 承擔了更多原本由客戶負責的雲端安全性責任,這些責任現今由雙方共同承擔。客戶現在可以更專注於其應用程式,而由 AWS 管理底層基礎結構。
客戶責任
在 EKS 自動模式下,客戶仍需負責應用程式容器的相關事務,包括容器的可用性、安全性與監控。此外,客戶也需掌控 VPC 基礎結構與 EKS 叢集組態的核心設定。透過此模型,客戶可專注於應用程式專屬需求,而將叢集基礎結構的管理工作委由 AWS 處理。叢集中可透過 AWS 附加元件納入節點層級的選擇性功能。
AWS 責任
相較於未啟用自動模式的 EKS 叢集,EKS 自動模式中 AWS 的責任範圍進一步擴大,納入了多項核心元件的管理工作。具體而言,EKS 自動模式會接管以下事務:由其啟動的 EC2 執行個體之設定、管理、安全性與擴展,以及叢集在負載平衡、IP 位址管理、聯網原則與區塊儲存方面的功能。在 EKS 自動中,以下元件由 AWS 負責管理:
-
自動模式啟動的 EC2 執行個體:透過 Amazon EC2 受管執行個體,AWS 處理節點的完整生命週期。EC2 受管執行個體負責作業系統組態、修補、監控與運作狀態維護。在此模型中,執行個體本身及其上執行的來賓作業系統均由 AWS 負責。這些節點使用專為執行容器而最佳化的 Bottlerocket
AMI 變體。Bottlerocket AMI 具備軟體鎖定、不可變根檔案系統,以及安全網路存取 (防止透過 SSH 或 SSM 直接連線) 等特性。 -
叢集功能:AWS 負責管理運算自動擴展、支援網路政策強制的 Pod 聯網、Elastic Load Balancing 整合,以及儲存驅動程式設定。
-
叢集控制平面:與標準 EKS 相同,AWS 持續管理 Kubernetes API 伺服器、跨帳戶 ENI 與 etcd 資料庫。
-
Foundation Services 與全球基礎結構:AWS 負責維持對底層運算、儲存、聯網與監控服務的責任,同時負責管理區域、本地區域與邊緣位置等全球基礎架構。