協助改進此頁面
本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
若要為本使用者指南貢獻內容,請點選每個頁面右側面板中的在 GitHub 上編輯此頁面連結。
本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
利用 EKS 自動模式自動運作叢集基礎設施
提示
註冊
EKS Auto Mode 會將 Kubernetes 叢集的 AWS 管理延伸到叢集本身之外, AWS 以允許 也設定和管理基礎設施,讓工作負載能夠順暢地運作。您可以委派關鍵基礎設施決策,並利用 的專業知識 AWS 進行day-to-day操作。管理的叢集基礎設施 AWS 包含許多 Kubernetes 功能作為核心元件,而不是附加元件,例如運算自動擴展、Pod 和服務聯網、應用程式負載平衡、叢集 DNS、區塊儲存和 GPU 支援。
若要開始使用,您可部署新的 EKS 自動模式叢集,也可在現有叢集上啟用 EKS Auto Mode。您可以使用 eksctl、 AWS CLI、、EKS APIs 或您偏好的基礎設施即程式碼工具來部署、升級或修改 AWS 管理主控台 EKS Auto Mode 叢集。 infrastructure-as-code
在 EKS 自動模式中,您仍可繼續使用偏好的 Kubernetes 相容工具。EKS Auto Mode 會與 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 Auto Mode 包含 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 自動模式的運作方式。
Configuration
儘管 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 Auto Mode AWS 和 EKS 標準模式之間的客戶和責任差異。
EKS 自動模式將 Kubernetes 基礎結構的大部分共用責任從客戶轉移至 AWS。透過 EKS Auto Mode, AWS 承擔更多雲端安全的責任,這曾經是客戶的責任,現在已共同承擔。客戶現在可以更專注於其應用程式,同時 AWS 管理基礎基礎設施。
客戶責任
在 EKS 自動模式下,客戶仍需負責應用程式容器的相關事務,包括容器的可用性、安全性與監控。此外,客戶也需掌控 VPC 基礎結構與 EKS 叢集組態的核心設定。此模型可讓客戶在委派叢集基礎設施管理給 時,專注於應用程式特定的考量 AWS。每個節點的選用功能可以透過 AWS 附加元件包含在叢集中。
AWS 責任
使用 EKS Auto Mode 時, AWS 擴展其責任,包括與已在未使用 Auto Mode 的 EKS 叢集中管理的元件相比,管理幾個額外的關鍵元件。具體而言,EKS 自動模式會接管以下事務:由其啟動的 EC2 執行個體之設定、管理、安全性與擴展,以及叢集在負載平衡、IP 位址管理、聯網原則與區塊儲存方面的功能。下列元件由 AWS 以 EKS Auto 模式管理:
-
自動模式啟動的 EC2 執行個體:利用 Amazon EC2 受管執行個體 AWS 來處理節點的完整生命週期。EC2 受管執行個體負責作業系統組態、修補、監控與運作狀態維護。在此模型中,執行個體本身及其上執行的來賓作業系統均由 AWS負責。這些節點使用專為執行容器而最佳化的 Bottlerocket
AMI 變體。Bottlerocket AMI 具備軟體鎖定、不可變根檔案系統,以及安全網路存取 (防止透過 SSH 或 SSM 直接連線) 等特性。 -
Cluster Capabilities: AWS 管理運算自動擴展、具有網路政策強制執行的 Pod 聯網、Elastic Load Balancing 整合和儲存驅動程式組態。
-
叢集控制平面: AWS 繼續管理 Kubernetes API 伺服器、跨帳戶 ENIs 和 等資料庫,如同標準 EKS。
-
Foundation Services 和全球基礎設施: AWS 負責基礎運算、儲存、聯網和監控服務,以及區域、本機區域和節點的全球基礎設施。