

 **協助改進此頁面** 

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

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

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

# EKS 功能
<a name="capabilities"></a>

**提示**  
入門：[建立 ACK 功能](create-ack-capability.md) \| [建立 Argo CD 功能](create-argocd-capability.md) \| [建立 kro 功能](create-kro-capability.md) 

Amazon EKS 功能是一組分層的全受管叢集功能，可協助加速開發人員速度，並卸載使用 Kubernetes 建置和擴展的複雜性。EKS 功能是 Kubernetes 原生功能，用於宣告式持續部署、 AWS 資源管理和 Kubernetes 資源撰寫和協同運作，全部由 完全管理 AWS。透過 EKS 功能，您可以更專注於建置和擴展工作負載，並將這些基礎平台服務的營運負擔卸載至 AWS。這些功能會在 EKS 而非叢集中執行，無需在工作者節點上安裝、維護和擴展關鍵平台元件。

若要開始使用，您可以在新的或現有的 EKS 叢集上建立一或多個 EKS 功能。若要這樣做，您可以使用 AWS CLI、 AWS 管理主控台、EKS APIs、eksctl 或您偏好的infrastructure-as-code工具。雖然 EKS 功能旨在共同運作，但它們是獨立的雲端資源，您可以根據您的使用案例和需求來挑選和選擇。

EKS 功能支援 EKS 支援的所有 Kubernetes 版本。

**注意**  
EKS 功能可在提供 Amazon EKS 的所有 AWS 商業區域中使用。如需支援的區域清單，請參閱《 AWS 一般參考》中的 [Amazon EKS 端點和配額](https://docs.aws.amazon.com/general/latest/gr/eks.html)。

## 可用的功能
<a name="_available_capabilities"></a>

### AWS Kubernetes (ACK) 的控制器
<a name="shared_aws_controllers_for_kubernetes_ack"></a>

ACK 可讓您使用 Kubernetes APIs 管理 AWS 資源，讓您使用 Kubernetes 自訂 AWS 資源建立和管理 S3 儲存貯體、RDS 資料庫、IAM 角色和其他資源。ACK 會持續協調您所需的狀態與 中的實際狀態 AWS，並更正一段時間內的任何偏離，以保持您的系統正常運作，並依指定設定您的資源。您可以使用相同的工具和工作流程來管理 AWS 資源與 Kubernetes 工作負載，並支援 50 多種 AWS 服務，包括 S3、RDS、DynamoDB 和 Lambda。ACK 支援跨帳戶和跨區域資源管理，可啟用複雜的多帳戶、多叢集系統管理架構。ACK 支援唯讀資源和唯讀採用，有助於將其他基礎設施作為程式碼工具遷移到以 Kubernetes 為基礎的系統。

 [進一步了解 ACK →](ack.md) 

### Argo CD
<a name="_argo_cd"></a>

Argo CD 使用 Git 儲存庫做為工作負載和系統狀態的事實來源，為您的應用程式實作 GitOps 型持續部署。Argo CD 會自動將應用程式資源從 Git 儲存庫同步至您的叢集，偵測並修復偏離，以確保您部署的應用程式符合您所需的狀態。您可以從單一 Argo CD 執行個體跨多個叢集部署和管理應用程式，並在每次遞交變更時從 Git 儲存庫自動部署。同時使用 Argo CD 和 ACK 可提供基礎 GitOps 系統，簡化工作負載相依性管理，並支援整個系統設計，包括大規模的叢集和基礎設施管理。Argo CD 與 AWS Identity Center 整合以進行身分驗證和授權，並提供託管 Argo UI 以視覺化應用程式運作狀態和部署狀態。

 [進一步了解 Argo CD →](argocd.md) 

### kro (Kube Resource Orchestrator)
<a name="_kro_kube_resource_orchestrator"></a>

kro 可讓您建立自訂 Kubernetes APIs，將多個資源組成更高階的抽象概念，讓平台團隊為常見的資源組合定義可重複使用的模式：雲端建置區塊。使用 kro，您可以將 Kubernetes AWS 和資源組合為統一抽象，使用簡單的語法來啟用動態組態和條件式邏輯。 kro 可讓平台團隊提供具有適當防護機制的自助式功能，讓開發人員使用簡單的專用 APIs 佈建複雜的基礎設施，同時維護組織標準和最佳實務。 kro 資源只是 Kubernetes 資源，並指定在 Kubernetes 資訊清單中，這些資訊清單可以存放在 Git 中，或推送到 Amazon ECR 等 OCI 相容登錄檔以進行廣泛的組織分佈。

 [進一步了解 kro →](kro.md) 

## EKS 功能的優點
<a name="_benefits_of_eks_capabilities"></a>

EKS 功能完全由 管理 AWS，無需安裝、維護和擴展基礎叢集服務。 AWS 處理安全修補、更新和操作管理，讓您的團隊專注於使用 進行建置 AWS ，而不是叢集操作。與使用叢集資源的傳統 Kubernetes 附加元件不同，功能在 EKS 中執行，而不是在工作者節點上執行。這可為您的工作負載釋放叢集容量和資源，同時將管理叢集內控制器和其他平台元件的操作負擔降至最低。

透過 EKS 功能，您可以使用原生 Kubernetes APIs 和 等工具來管理部署、 AWS 資源、自訂 Kubernetes 資源和組合`kubectl`。所有功能都會在您的叢集內容中運作，自動偵測和修正應用程式和雲端基礎設施資源中的組態偏離。您可以從單一控制點跨多個叢集、 AWS 帳戶和區域部署和管理資源，簡化複雜、分散式環境中的操作。

EKS 功能專為 GitOps 工作流程設計，提供宣告性、版本控制的基礎設施和應用程式管理。透過系統從 Git 變更流程，提供與現有開發實務整合的稽核追蹤、復原功能和協同合作工作流程。這種 Kubernetes 原生方法表示您不需要使用多個工具或管理叢集外部的infrastructure-as-code系統，而且有單一事實來源可供參考。您在版本控制 Kubernetes 宣告式組態中定義的所需狀態會在您的環境中持續強制執行。

## 定價
<a name="_pricing"></a>

使用 EKS 功能，無需預付承諾或最低費用。您需要為 Amazon EKS 叢集上每個作用中小時的每個功能資源支付費用。由 EKS 功能管理的特定 Kubernetes 資源也會以每小時費率計費。

如需目前定價資訊，請參閱 [Amazon EKS 定價頁面](https://aws.amazon.com/eks/pricing/)。

**提示**  
您可以使用 AWS Cost Explorer 和成本和用量報告，與其他 EKS 費用分開追蹤功能成本。您可以使用叢集名稱、功能類型和其他詳細資訊來標記您的功能，以用於成本分配目的。

## EKS 功能的運作方式
<a name="_how_eks_capabilities_work"></a>

每個功能都是您在 EKS 叢集上建立 AWS 的資源。建立後，該功能會在 EKS 中執行，並由 完全管理 AWS。

**注意**  
您可以為指定叢集建立每種類型的一個功能資源 (Argo CD、ACK 和 kro)。您無法在相同叢集上建立相同類型的多個功能資源。

您可以使用標準 Kubernetes APIs 和工具與叢集中的功能互動：
+ 使用 `kubectl`套用 Kubernetes 自訂資源
+ 使用 Git 儲存庫做為 GitOps 工作流程的事實來源

有些功能支援其他工具。例如：
+ 使用 Argo CD CLI 來設定和管理 Argo CD 功能中的儲存庫和叢集
+ 使用 Argo CD UI 視覺化和管理由 Argo CD 功能管理的應用程式

功能旨在共同運作，但獨立且完全選擇加入。您可以根據您的需求啟用一個、兩個或全部三個功能，並隨著需求的變化更新您的組態。

所有 EKS 運算類型都支援與 EKS 功能搭配使用。如需詳細資訊，請參閱[使用節點管理運算資源](eks-compute.md)。

如需 IAM 角色的安全組態和詳細資訊，請參閱 [EKS 功能的安全考量](capabilities-security.md)。如需多叢集架構模式，請參閱 [EKS 功能考量事項](capabilities-considerations.md)。

## 常用案例
<a name="_common_use_cases"></a>

 **適用於應用程式和基礎設施的 GitOps ** 

使用 Argo CD 部署應用程式和操作元件，以及從 Git 儲存庫管理叢集組態和佈建基礎設施的 ACK。您的整個堆疊 - 應用程式、資料庫、儲存和聯網 - 定義為程式碼並自動部署。

範例：開發團隊將變更推送至 Git。Argo CD 部署更新的應用程式，而 ACK 會使用正確的組態佈建新的 RDS 資料庫。所有變更皆可稽核、可逆且跨環境保持一致。

 **具有自助式服務的平台工程** 

使用 kro 建立構成 ACK 和 Kubernetes 資源APIs。平台團隊使用護欄定義核准的模式。應用程式團隊使用簡單的高階 APIs 來佈建完整的堆疊。

範例：平台團隊會建立佈建部署、服務、輸入和 S3 儲存貯體的「WebApplication」 API。開發人員使用此 API，而不需要了解基礎複雜性或 AWS 許可。

 **多叢集應用程式管理** 

使用 Argo CD 在不同區域或帳戶中跨多個 EKS 叢集部署應用程式。使用一致的政策和工作流程，從單一 Argo CD 執行個體管理所有部署。

範例：將相同的應用程式部署到跨多個區域的開發、預備和生產叢集。Argo CD 可確保每個環境與其對應的 Git 分支保持同步。

 **多叢集管理** 

使用 ACK 定義和佈建 EKS 叢集、使用組織標準自訂叢集組態的 kro，以及管理叢集生命週期和組態的 Argo CD。這可提供從建立到持續操作end-to-end叢集管理。

範例：使用 ACK 和 kro 定義 EKS 叢集來佈建和管理叢集基礎設施，定義聯網、安全政策、附加元件和其他組態的組織標準。使用 Argo CD，利用一致的標準和自動化生命週期管理，在整個機群中建立並持續管理叢集、組態和 Kubernetes 版本更新。

 **遷移和現代化** 

透過原生雲端資源佈建和 GitOps 工作流程，簡化遷移至 EKS。使用 ACK 來採用現有 AWS 資源，而不重新建立這些資源，並使用 Argo CD 從 Git 操作工作負載部署。

範例：從 EC2 遷移至 EKS 的團隊會使用 ACK 採用其現有的 RDS 資料庫和 S3 儲存貯體，然後使用 Argo CD 從 Git 部署容器化應用程式。遷移路徑很清楚，操作從第一天開始就會標準化。

 **帳戶和區域引導** 

使用 Argo CD 和 ACK 自動化跨帳戶和區域的基礎設施推展。在 Git 中將基礎設施定義為程式碼，並讓 功能處理部署和管理。

範例：平台團隊會維護 Git 儲存庫，定義標準帳戶組態：VPCs、IAM 角色、RDS 執行個體和監控堆疊。Argo CD 會自動將這些組態部署到新帳戶和區域，確保一致性並將手動設定時間從幾天縮短到幾分鐘。