協助改進此頁面
本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
若要為本使用者指南貢獻內容,請點選每個頁面右側面板中的在 GitHub 上編輯此頁面連結。
本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
功能 Kubernetes 資源
在叢集上啟用功能後,您通常會透過在叢集中建立和管理 Kubernetes 自訂資源來與其互動。每個功能都提供自己的一組自訂資源定義 (CRDs),以功能特定的功能擴展 Kubernetes API。
Argo CD 資源
當您啟用 Argo CD 功能時,您可以建立和管理下列 Kubernetes 資源:
- Application (應用程式)
-
定義從 Git 儲存庫到目標叢集的部署。
Application資源會指定來源儲存庫、目標命名空間和同步政策。每個 Argo CD 功能執行個體最多可以建立 1000 個Application資源。 - ApplicationSet
-
從 範本產生多個
Application資源,啟用多叢集和多環境部署。ApplicationSet資源會使用產生器,根據叢集清單、Git 目錄或其他來源動態建立Application資源。 - AppProject
-
提供
Application資源的邏輯分組和存取控制。AppProject資源會定義Application資源可以使用哪些儲存庫、叢集和命名空間,進而啟用多租戶和安全性界限。
資源範例Application:
apiVersion: argoproj.io/v1alpha1 kind: Application metadata: name: my-app namespace: argocd spec: project: default source: repoURL: https://github.com/org/repo targetRevision: main path: manifests destination: server: https://kubernetes.default.svc namespace: production
如需 Argo CD 資源和概念的詳細資訊,請參閱 Argo CD 概念。
kro 資源
啟用 kro 功能時,您可以建立和管理下列 Kubernetes 資源:
- ResourceGraphDefinition (RGD)
-
定義自訂 API,將多個 Kubernetes AWS 和資源組成為更高層級的抽象。平台團隊會建立
ResourceGraphDefinition資源,以提供具有護欄的可重複使用模式。 - 自訂資源執行個體
-
建立
ResourceGraphDefinition資源後,您可以建立由 定義的自訂 API 執行個體ResourceGraphDefinition。 kro 會自動建立和管理 中指定的資源ResourceGraphDefinition。
資源範例ResourceGraphDefinition:
apiVersion: kro.run/v1alpha1 kind: ResourceGraphDefinition metadata: name: web-application spec: schema: apiVersion: v1alpha1 kind: WebApplication spec: name: string replicas: integer resources: - id: deployment template: apiVersion: apps/v1 kind: Deployment # ... deployment spec - id: service template: apiVersion: v1 kind: Service # ... service spec
範例WebApplication執行個體:
apiVersion: v1alpha1 kind: WebApplication metadata: name: my-web-app namespace: default spec: name: my-web-app replicas: 3
當您套用此執行個體時,kro 會自動建立 中Service定義的 Deployment和資源ResourceGraphDefinition。
如需 kro 資源和概念的詳細資訊,請參閱 kro 概念。
ACK 資源
啟用 ACK 功能時,您可以使用 Kubernetes 自訂 AWS 資源來建立和管理資源。ACK 為超過 50 種 AWS 服務提供超過 200 CRDs,可讓您定義 AWS Kubernetes 工作負載的資源,以及使用 Kubernetes 管理專用 AWS 基礎設施資源。
ACK 資源的範例:
- S3 儲存貯體
-
Bucket資源會使用版本控制、加密和生命週期政策來建立和管理 Amazon S3 儲存貯體。 - RDS DBInstance
-
DBInstance資源使用自動備份和維護時段佈建和管理 Amazon RDS 資料庫執行個體。 - DynamoDB 資料表
-
Table資源會使用佈建或隨需容量建立和管理 DynamoDB 資料表。 - IAM 角色
-
Role資源定義具有信任政策和 AWS 服務存取許可政策的 IAM 角色。 - Lambda 函數
-
Function資源會使用程式碼、執行時間和執行角色組態來建立和管理 Lambda 函數。
Bucket 資源的範例規格:
apiVersion: s3.services.k8s.aws/v1alpha1 kind: Bucket metadata: name: my-app-bucket spec: name: my-unique-bucket-name-12345 versioning: status: Enabled encryption: rules: - applyServerSideEncryptionByDefault: sseAlgorithm: AES256
如需 ACK 資源和概念的詳細資訊,請參閱 ACK 概念。
資源限制
EKS 功能具有下列資源限制:
Argo CD 用量限制:
-
每個 Argo CD 功能執行個體最多 1000 個
Application資源 -
每個 Argo CD 功能執行個體最多設定 100 個遠端叢集
資源組態限制:
-
Argo CD 中每個資源最多 64 個 Kubernetes
Application資源 -
kro
ResourceGraphDefinition中每個資源最多 64 個 Kubernetes 資源
注意
這些限制適用於每個功能執行個體管理的資源數量。如果您需要更高的限制,您可以在多個叢集之間部署功能。
後續步驟
如需功能特定的任務和進階組態,請參閱下列主題:
-
ACK 概念 – 了解 ACK 概念和資源生命週期
-
使用 Argo CD – 使用適用於 GitOps 工作流程的 Argo CD 功能
-
kro 概念 – 了解 kro 概念和資源合成