協助改進此頁面
本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
若要為本使用者指南貢獻內容,請點選每個頁面右側面板中的在 GitHub 上編輯此頁面連結。
本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用 Argo CD 持續部署
Argo CD 是一種適用於 Kubernetes 的宣告式 GitOps 持續交付工具。使用 Argo CD,您可以自動化跨多個叢集和環境的應用程式部署和生命週期管理。Argo CD 支援多種來源類型,包括 Git 儲存庫、Helm 登錄檔 (HTTP 和 OCI) 和 OCI 映像,為具有不同安全和合規要求的組織提供靈活性。
透過 EKS 功能,Argo CD 完全由 管理 AWS,無需在叢集上安裝、維護和擴展 Argo CD 控制器及其相依性。
Argo CD 的運作方式
Argo CD 遵循 GitOps 模式,其中您的應用程式來源 (Git 儲存庫、Helm 登錄檔或 OCI 映像) 是定義所需應用程式狀態的事實來源。當您建立 Argo CD Application 資源時,您可以指定包含應用程式資訊清單的來源,以及目標 Kubernetes 叢集和命名空間。Argo CD 會持續監控叢集中的來源和即時狀態,自動同步任何變更,以確保叢集狀態符合所需的狀態。
注意
使用適用於 Argo CD 的 EKS 功能,Argo CD 軟體會在 AWS 控制平面中執行,而不是在您的工作者節點上執行。這表示您的工作者節點不需要直接存取 Git 儲存庫或 Helm 登錄檔,此功能會處理來自 AWS 帳戶的來源存取。
Argo CD 提供三種主要資源類型:
-
應用程式:定義從 Git 儲存庫到目標叢集的部署
-
ApplicationSet:從多叢集部署的範本產生多個應用程式
-
AppProject:提供應用程式的邏輯分組和存取控制
範例:建立 Argo CD 應用程式
下列範例示範如何建立 Argo CD Application 資源:
apiVersion: argoproj.io/v1alpha1 kind: Application metadata: name: guestbook namespace: argocd spec: project: default source: repoURL: https://github.com/argoproj/argocd-example-apps.git targetRevision: HEAD path: guestbook destination: name: my-cluster namespace: guestbook syncPolicy: automated: prune: true selfHeal: true
Argo CD 的優點
Argo CD 實作 GitOps 工作流程,您可以在 Git 儲存庫中定義應用程式組態,Argo CD 會自動同步您的應用程式以符合所需的狀態。這種以 Git 為中心的方法提供所有變更的完整稽核線索、輕鬆復原,並自然地與您現有的程式碼檢閱和核准程序整合。Argo CD 會自動偵測並協調 Git 中所需狀態與叢集中實際狀態之間的偏離,確保您的部署與您的宣告組態保持一致。
使用 Argo CD,您可以從單一 Argo CD 執行個體跨多個叢集部署和管理應用程式,簡化多叢集和多區域環境中的操作。Argo CD UI 提供視覺化和監控功能,可讓您檢視應用程式的部署狀態、運作狀態和歷史記錄。UI 與 AWS Identity Center (先前稱為 AWS SSO) 整合,以進行無縫身分驗證和授權,讓您能夠使用現有的身分管理基礎設施來控制存取。
作為 EKS 受管功能的一部分,Argo CD 完全由 管理 AWS,無需安裝、設定和維護 Argo CD 基礎設施。 會 AWS 處理擴展、修補和操作管理,讓您的團隊專注於應用程式交付,而不是工具維護。
與 AWS Identity Center 整合
EKS 受管功能可在 Argo CD 和 AWS Identity Center 之間直接整合,為您的使用者啟用無縫身分驗證和授權。當您啟用 Argo CD 功能時,您可以設定 AWS Identity Center 整合,將 Identity Center 群組和使用者映射至 Argo CD RBAC 角色,讓您控制誰可以存取和管理 Argo CD 中的應用程式。
與其他 EKS 受管功能的整合
Argo CD 與其他 EKS 受管功能整合。
-
AWS Kubernetes (ACK) 控制器:使用 Argo CD 管理跨多個叢集的 ACK 資源部署,為您的 AWS 基礎設施啟用 GitOps 工作流程。
-
kro (Kube Resource Orchestrator):使用 Argo CD 跨多個叢集部署 kro 組合,在您的 Kubernetes 資產中實現一致的資源組合。
Argo CD 入門
若要開始使用適用於 Argo CD 的 EKS 功能:
-
建立並設定具有 Argo CD 必要許可的 IAM 功能角色,以存取您的 Git 儲存庫並管理應用程式。
-
透過 AWS 主控台、 AWS CLI 或您偏好的基礎設施做為程式碼工具,在您的 EKS 叢集上建立 Argo CD 功能資源。
-
設定儲存庫存取並註冊叢集以進行應用程式部署。
-
建立應用程式資源,從 Git 儲存庫部署您的應用程式。