Argo CD基于 Kubernetes 的声明式持续交付工具
Argo CD 是 Kubernetes 的声明性 GitOps 持续交付工具。
优点:
- 应用程序定义、配置和环境应该是声明性的并且是版本控制的。
- 应用程序部署和生命周期管理应该是自动化的、可审计的并且易于理解。
Argo CD 遵循 GitOps 模式,使用 Git 存储库作为定义所需应用程序状态的真实来源。Kubernetes 清单可以通过多种方式指定:
Argo CD 在指定的目标环境中自动部署所需的应用程序状态。应用程序部署可以在 Git 提交时跟踪对分支、标签或固定到特定版本清单的更新。有关可用的不同跟踪策略的更多详细信息,可参阅跟踪策略。
架构:
Argo CD被实现为kubernetes控制器,该控制器连续监视正在运行的应用程序, 并将当前的活动状态与所需的目标状态(在Git存储库中指定)进行比较。 其活动状态偏离目标状态的已部署应用程序被标记为OutOfSync。 Argo CD报告并可视化差异,同时提供了自动或手动将实时状态同步回所需目标状态的功能。 在Git存储库中对所需目标状态所做的任何修改都可以自动应用并反映在指定的目标环境中。
特性:
- 将应用程序自动部署到指定的目标环境
- 支持多种配置管理/模板工具(Kustomize、Helm、Ksonnet、Jsonnet、plain-YAML)
- 能够管理和部署到多个集群
- SSO 集成(OIDC、OAuth2、LDAP、SAML 2.0、GitHub、GitLab、Microsoft、LinkedIn)
- 用于授权的多租户和 RBAC 策略
- 回滚/随处回滚到 Git 存储库中提交的任何应用程序配置
- 应用资源健康状况分析
- 自动配置漂移检测和可视化
- 自动或手动将应用程序同步到所需状态
- 提供应用程序活动实时视图的 Web UI
- 用于自动化和 CI 集成的 CLI
- Webhook 集成(GitHub、BitBucket、GitLab)
- 自动化的访问令牌
- PreSync、Sync、PostSync 挂钩以支持复杂的应用程序部署(例如蓝色/绿色和金丝雀升级)
- 应用程序事件和 API 调用的审计跟踪
- Prometheus 指标
- 用于覆盖 Git 中的 ksonnet/helm 参数的参数覆盖
评论