

 **協助改進此頁面** 

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

若要為本使用者指南貢獻內容，請點選每個頁面右側面板中的**在 GitHub 上編輯此頁面**連結。

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 利用 EKS 自動模式自動運作叢集基礎設施
<a name="automode"></a>

**提示**  
 [註冊](https://aws-experience.com/emea/smb/events/series/get-hands-on-with-amazon-eks?trk=4a9b4147-2490-4c63-bc9f-f8a84b122c8c&sc_channel=el)即將舉行的 Amazon EKS Auto Mode 研討會。

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 雲端資源。這些資源會自動擴展、最佳化成本，並定期更新，協助最大限度降低營運成本與負荷。

## 功能
<a name="_features"></a>

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，以符合特定需求。

## 自動化元件
<a name="_automated_components"></a>

EKS 自動模式透過自動化關鍵基礎結構元件，簡化 Amazon EKS 叢集的操作。啟用 EKS 自動模式後，管理 EKS 叢集的任務將進一步減少。

下列是已實現自動化的資料平面元件清單：
+  **運算**：對於多數工作負載，透過 EKS 自動模式，您無需關注 EKS 叢集運算層面的許多細節。其中包含：
  +  **節點**：EKS 自動模式節點的設計理念是將其視為專用設備來處理。EKS 自動模式會執行下列作業：
    + 選擇合適的 AMI，該 AMI 已預先設定執行工作負載所需的多項服務，無需介入。
    + 透過 SELinux 強制模式與唯讀根檔案系統，鎖定 AMI 上的檔案存取權；
    + 禁止 SSH 或 SSM 存取，防止直接存取節點；
    + 包含 GPU 支援，提供適用於 NVIDIA 與 Neuron GPU 的獨立核心驅動程式與外掛程式，支援高效能工作負載；
    + 自動處理 [EC2 Spot 執行個體中斷通知](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-instance-termination-notices.html)與 EC2 執行個體運作狀態事件
  +  **自動擴展**：EKS 自動模式依賴 [Karpenter](https://karpenter.sh/docs/) 自動擴展功能，監控無法排程的 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 自動模式的運作方式](auto-reference.md)。

## Configuration
<a name="_configuration"></a>

儘管 EKS 自動模式能在無需您介入的情況下，有效管理大部分資料平面服務，但有時您可能需要調整部分服務的運作行為。您可透過下列方式修改 EKS 自動模式叢集的組態：
+  **Kubernetes DaemonSets**：無需修改安裝在節點上的服務，您可改用 Kubernetes DaemonSet。DaemonSet 專為由 Kubernetes 管理而設計，但會在叢集中的每個節點上執行。過這種方式，您可新增用於監控或其他節點管理場景的專用服務。
+  **自訂 NodePool 與 NodeClass**：預設 NodePool 和 NodeClass 由 EKS 自動模式設定，不建議自行編輯。要自訂節點行為，可針對以下使用案例建立額外的 NodePool 或 NodeClass，例如：
  + 選取特定執行個體類型 (例如，加速處理器或 EC2 Spot 執行個體)。
  + 隔離工作負載，以達成安全性或成本追蹤目的。
  + 設定暫時性儲存設定，如 IOPS、大小和輸送量。
+  **負載平衡**：EKS 自動模式會將部分服務 (如負載平衡) 作為 Kubernetes 物件執行，這類服務可直接在 EKS 自動模式叢集上進行設定。

如需設定 EKS 自動模式的詳細資訊，請參閱 [進行 EKS 自動模式設定](settings-auto.md)。

## 共同責任模型
<a name="_shared_responsibility_model"></a>

 AWS 共同責任模型定義 AWS 和 客戶之間的安全與合規責任。以下影像和文字會比較和對比 EKS Auto Mode AWS 和 EKS 標準模式之間的客戶和責任差異。

![EKS 自動模式與標準模式的共用責任模型](http://docs.aws.amazon.com/zh_tw/eks/latest/userguide/images/eksautosrm.png)


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](https://aws.amazon.com/bottlerocket) AMI 變體。Bottlerocket AMI 具備軟體鎖定、不可變根檔案系統，以及安全網路存取 (防止透過 SSH 或 SSM 直接連線) 等特性。
+  **Cluster Capabilities**： AWS 管理運算自動擴展、具有網路政策強制執行的 Pod 聯網、Elastic Load Balancing 整合和儲存驅動程式組態。
+  **叢集控制平面**： AWS 繼續管理 Kubernetes API 伺服器、跨帳戶 ENIs 和 等資料庫，如同標準 EKS。
+  **Foundation Services 和全球基礎設施**： AWS 負責基礎運算、儲存、聯網和監控服務，以及區域、本機區域和節點的全球基礎設施。