4.6.2 理解Argo CD

Argo CD是针对Kubernetes的开源持续交付解决方案。它由Intuit公司创建,并被许多公司采用,包括Google、NVIDIA、Datadog和Adobe等。它具有一系列令人印象深刻的功能:

·将应用程序自动部署到特定目标环境。

·CLI命令行工具。

·应用程序以及目标状态和实时状态之间的差异的Web可视化。

·支持高级部署模式(蓝/绿部署和金丝雀部署)。

·支持多种配置管理工具(YAML文件、ksonnet、kustomize、Helm等)。

·持续监控所有已部署的应用程序。

·手动或自动将应用程序同步到目标状态。

·可回滚到Git代码仓库中应用程序的任意状态。

·所有应用程序组件的健康状况评估。

·SSO继承。

·GitOps Webhook集成(GitHub、GitLab和BitBucket)。

·用于与CI流水线集成的服务账户/访问密钥管理。

·用于应用程序事件和API调用的审计。

1.构建在Argo上

Argo CD是比较特殊的持续交付流水线,它构建在可靠的Argo工作流引擎之上。我非常喜欢这种分层方法,你可以在一个坚实的通用基础上进行工作流的编排,然后构建持续交付的功能。

2.借助GitOps方法

Argo CD遵循GitOps方法,其基本原则是将系统状态存储在Git中。Argo CD通过检查Git差异并使用Git原语来回滚和协调实时状态,以便管理应用程序的实时状态与目标状态。