協助改進此頁面
本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
若要為本使用者指南貢獻內容,請點選每個頁面右側面板中的在 GitHub 上編輯此頁面連結。
本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
EKS 功能
提示
入門:建立 ACK 功能 | 建立 Argo CD 功能 | 建立 kro 功能
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 端點和配額。
可用的功能
AWS Kubernetes (ACK) 的控制器
ACK 可讓您使用 Kubernetes APIs 管理 AWS 資源,讓您使用 Kubernetes 自訂 AWS 資源建立和管理 S3 儲存貯體、RDS 資料庫、IAM 角色和其他資源。ACK 會持續協調您所需的狀態與 中的實際狀態 AWS,修正一段時間內的任何偏離,以保持您的系統運作狀態,並依指定設定您的資源。您可以使用相同的工具和工作流程來管理 AWS 資源與 Kubernetes 工作負載,並支援 50 多種 AWS 服務,包括 S3、RDS、DynamoDB 和 Lambda。ACK 支援跨帳戶和跨區域資源管理,可啟用複雜的多帳戶、多叢集系統管理架構。ACK 支援唯讀資源和唯讀採用,有助於將其他基礎設施作為程式碼工具遷移到以 Kubernetes 為基礎的系統。
Argo CD
Argo CD 使用 Git 儲存庫做為工作負載和系統狀態的真實來源,為您的應用程式實作 GitOps 型持續部署。Argo CD 會自動從 Git 儲存庫同步應用程式資源到您的叢集,偵測並修復偏離,以確保您部署的應用程式符合您所需的狀態。您可以從單一 Argo CD 執行個體跨多個叢集部署和管理應用程式,並在每次遞交變更時從 Git 儲存庫自動部署。同時使用 Argo CD 和 ACK 可提供基礎 GitOps 系統,簡化工作負載相依性管理,並支援整個系統設計,包括大規模的叢集和基礎設施管理。Argo CD 與 AWS Identity Center 整合以進行身分驗證和授權,並提供託管 Argo UI 以視覺化應用程式運作狀態和部署狀態。
kro (Kube Resource Orchestrator)
kro 可讓您建立自訂 Kubernetes APIs,將多個資源組成更高階的抽象,讓平台團隊為常見的資源組合雲端建置區塊定義可重複使用的模式。使用 kro, 您可以將 Kubernetes 和資源 AWS 組合成統一的抽象概念, 使用簡單的語法來啟用動態組態和條件式邏輯。 kro 可讓平台團隊以適當的護欄提供自助式功能。 可讓開發人員使用簡單的 佈建複雜的基礎設施 專用 APIs同時維護組織標準和最佳實務。kro 資源只是 Kubernetes 資源, 和 在可存放在 Git 的 Kubernetes 資訊清單中指定, 或 推送至 OCI 相容登錄檔,例如 Amazon ECR,以進行廣泛的組織分佈。
EKS 功能的優點
EKS 功能完全由 管理 AWS,無需安裝、維護和擴展基礎叢集服務。 AWS 處理安全修補、更新和操作管理,讓您的團隊專注於使用 建置 AWS ,而不是叢集操作。與使用叢集資源的傳統 Kubernetes 附加元件不同,功能在 EKS 中執行,而不是在工作者節點上執行。這可為您的工作負載釋放叢集容量和資源,同時將管理叢集內控制器和其他平台元件的操作負擔降至最低。
透過 EKS 功能,您可以使用原生 Kubernetes APIs 和 等工具來管理部署、 AWS 資源、自訂 Kubernetes 資源和組合kubectl。所有功能都會在您的叢集內容中運作,自動偵測和修正應用程式和雲端基礎設施資源中的組態偏離。您可以從單一控制點跨多個叢集、 AWS 帳戶和區域部署和管理資源,簡化複雜、分散式環境中的操作。
EKS 功能專為 GitOps 工作流程設計,提供宣告性、版本控制的基礎設施和應用程式管理。透過系統變更 Git 的流程,提供稽核線索、回復功能和與現有開發實務整合的協作工作流程。這種 Kubernetes 原生方法表示您不需要使用多個工具或管理叢集外部的infrastructure-as-code系統,而且有單一事實來源可供參考。您在版本控制 Kubernetes 宣告式組態中定義的所需狀態會在您的環境中持續強制執行。
定價
使用 EKS 功能,無需預付承諾或最低費用。您需要為 Amazon EKS 叢集上每個作用中小時的每個功能資源支付費用。由 EKS 功能管理的特定 Kubernetes 資源也會以每小時費率計費。
如需最新的定價資訊,請參閱 Amazon EKS 定價頁面
提示
您可以使用 AWS Cost Explorer 和成本和用量報告,與其他 EKS 費用分開追蹤功能成本。您可以使用叢集名稱、功能類型和其他詳細資訊來標記您的功能,以用於成本分配目的。
EKS 功能的運作方式
每個功能都是您在 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 功能搭配使用。如需詳細資訊,請參閱使用節點管理運算資源。
如需 IAM 角色的安全組態和詳細資訊,請參閱 EKS 功能的安全考量。如需多叢集架構模式,請參閱 EKS 功能考量事項。
常用案例
適用於應用程式和基礎設施的 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 會自動將這些組態部署到新帳戶和區域,確保一致性並將手動設定時間從幾天縮短到幾分鐘。