帮助改进此页面
要帮助改进本用户指南,请选择位于每个页面右侧窗格中的在 GitHub 上编辑此页面链接。
使用 Argo CD 持续部署
Argo CD 是一款适用于 Kubernetes 的声明式 GitOps 持续交付工具。借助 Argo CD,您可以跨多个集群和环境自动部署应用程序并管理其生命周期。Argo CD 支持多种来源类型,包括 Git 存储库、Helm 注册表(HTTP 和 OCI)和 OCI 映像,为具有不同安全和合规要求的组织提供了灵活性。
得益于 EKS 功能,Argo CD 完全由 Amazon 托管,无需您在集群上安装、维护和扩展 Argo CD 控制器及其依赖项。
Argo CD 的工作原理
Argo CD 遵循 GitOps 模式,其中您的应用程序源(Git 存储库、Helm 注册表或 OCI 映像)是用于定义所需应用程序状态的事实来源。在创建 Argo CD Application 资源时,需要指定包含应用程序清单的源以及目标 Kubernetes 集群和命名空间。Argo CD 持续监控集群中的源状态和实时状态,并且自动同步所有更改以确保集群状态与所需状态保持一致。
注意
借助适用于 Argo CD 的 EKS 功能,Argo CD 软件可在 Amazon 控制面板上运行,而不是在 Worker 节点上运行。这意味着您的 Worker 节点不需要直接访问 Git 存储库或 Helm 注册表:此功能可处理来自 Amazon 账户的源访问。
Argo CD 提供三种主要资源类型:
-
Application:定义从 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 用户界面提供可视化和监控功能,允许您查看应用程序的部署状态、运行状况和历史记录。用户界面与 Amazon Identity Center(原 Amazon SSO)集成,可实现无缝身份验证和授权,使您能够使用现有的身份管理基础设施控制访问权限。
作为 EKS 托管功能的一部分,Argo CD 完全由 Amazon 管理,无需安装、配置和维护 Argo CD 基础设施。Amazon 负责扩展、修补和操作管理,让您的团队能够专注于应用程序交付而不是工具维护。
与 Amazon Identity Center 集成
EKS 托管功能提供 Argo CD 与 Amazon Identity Center 之间的直接集成,为您的用户提供无缝身份验证和授权。启用 Argo CD 功能后,您可以将 Amazon Identity Center 集成配置为将 Identity Center 组和用户映射到 Argo CD RBAC 角色,从而控制谁可以访问和管理 Argo CD 中的应用程序。
与其他 EKS 托管功能集成
Argo CD 可与其他 EKS 托管功能集成。
-
Amazon Controllers for Kubernetes(ACK):使用 Argo CD 跨多个集群管理 ACK 资源的部署,为 Amazon 基础设施启用 GitOps 工作流程。
-
kro(Kube Resource Orchestrator):使用 Argo CD 在多个集群中部署 kro 组合,从而在整个 Kubernetes 资产中实现一致的资源组合。
开始使用 Argo CD
要开始使用适用于 Argo CD 的 EKS 功能,请执行以下操作:
-
创建和配置 IAM 功能角色,该角色具有必要权限,能让 Argo CD 访问您的 Git 存储库和管理应用程序。
-
通过 Amazon 控制台、Amazon CLI 或偏好的基础设施即代码工具,在 EKS 集群上创建 Argo CD 功能资源。
-
配置存储库访问权限并注册集群,进行应用程序部署。
-
创建 Application 资源,从 Git 存储库部署应用程序。