大家好,我是张晋涛。
Argo CD 概览

2020 年 4 月 7 日,CNCF Technical Oversight Committee (TOC) 投票通过 Argo 项目进入 CNCF 孵化。
其实 Argo 是在 2017 年由 Applatix 公司创建的(这家公司的主要产品和服务目前主要与 AWS 进行深度融合,当然也包括一些多云的服务),2018 年初被 Intuit 收购。之后,BlackRock 为 Argo 项目贡献了 Argo Events 子项目。两家公司都积极参与项目和社区的开发和培育中。
Argo 及其子项目提供了一种简单的方法管理 Workflow,事件和应用程序。所有 Argo 工具都通过 CRD 的方式实现。他们可以使用或集成其他 CNCF 项目,如 gRPC、Prometheus、NATS、Helm 和 CloudEvents。
Argo 生态目前主要由四个子项目组成,包括:
Argo Workflows -- 第一个 Argo 项目,是 Kubernetes 的原生工作流引擎,支持 DAG 和 step-based 的工作流;
Argo Events -- Kubernetes 上的基于事件的依赖管理器,用于触发 Kubernetes 中的 Argo 工作流和其他操作。
Argo CD -- 是 Argo 社区和 Intuit 带来的开源项目,支持基于 GitOps 的声明性部署 Kubernetes 资源。
Argo Rollouts -- 支持声明式渐进式交付策略,例如 canary 、blue-green 和更多形式。
Argo CD 旨在提供一个声明式持续交付 (CD) 工具。Argo CD 支持多种配置管理工具,包括 ksonnet /jsonnet,kustomize 和 Helm 等。Argo CD 扩展了声明式和基于 Git 的配置管理的优势,以在不影响安全性和合规性的情况下加速应用程序的部署和生命周期管理。
Argo CD 的适用场景
应用程序及其部署环境的配置是声明性的,并且是版本可控的;
应用程序部署和生命周期管理简单、可自动和可审计(企业友好);
应用程序部署快速、可靠和幂等;
需要检测并纠正与版本控制配置的任何偏差;
回滚简单;
Argo CD 的主要功能
可搭配使用各种配置管理工具(如 ksonnet/jsonnet、Helm 和 kustomize)使应用程序与 Git 中定义的保持一致;
将应用程序自动部署到指定的目标环境;
持续监控已部署的应用程序;
基于 Web 和 CLI 的操作,以及应用程序可视化;
部署或回滚到 Git 仓库中提交的应用程序的任何状态(这也是使用 Git 进行版本管理的一大好处)&#