文章目录
2022 年 12 月,CNCF 宣布 Argo 项目从孵化阶段提升为毕业阶段。这意味着它和 Kubernetes、Prometheus 这些影响力巨大的项目一样,加入了毕业项目的行列。你可能不知道,Argo 项目其实包括多个子项目,ArgoCD 是其中关注度最高且终端用户最多的项目。CNCF 的统计数据显示,Argo 至少被 350 家企业用在了生产环境上,在社区贡献方面,有超过 2300 家公司和 8000 名个人为这个项目做出过贡献,Argo 项目在 GitHub 上拥有超过 20000 个 Star,它是 CNCF 开源社区中最活跃和最多样化的开源社区之一。那么,为什么 ArgoCD 如此成功?它相比 GitOps 的鼻祖 FluxCD 有哪些优势呢?为什么 ArgoCD 会成为 GitOps 最受开发者欢迎的项目?在这节课,我将从 ArgoCD 的历史说起,带你了解 ArgoCD 的发展历史,了解 ArgoCD 背后庞大的 Argo 项目。此外,我还会对 ArgoCD 和 FluxCD 做简单的对比,让你了解它们之间的差异,为你的技术选型提供参考。
ArgoCD 的诞生
2017 年,Applatix 公司正式对外开源了 Argo 项目。2018 年,Applatix 公司被著名的 Intuit 公司收购。Intuit 公司成立于 1983 年,是一家老牌的金融和税务软件开发商。在收购 Argo 项目之前,Intuit 公司采用了 Netflix 开源的 CD 工具 Spinnaker。随着业务的逐渐发展,Spinnaker 已经很难满足 Intuit 公司的需要了。所以,在收购 Applatix 公司之后,Intuit 要求其团队开发一个新的自助式的交付平台,并且需要用创新的方式来提高发布效率,降低复杂性。在当时,Intuit 实际上已经使用了 Argo Workflow 项目了。但在构建这个全新的交付平台的时候,他们意识到在持续交付环节还缺少一款重要的产品,ArgoCD 在这一背景下就应运而生了。由于在这之前 Intuit 公司采用了大量的开源项目,所以它们认为回馈开源社区是非常有必要的。因此,他们也将 ArgoCD 回馈给了开源社区。在开源之后,ArgoCD 得到了开源社区极大的帮助,几年后,ArgoCD 成为了最火的 GitOps 工具。
ArgoCD 的特点
ArgoCD 之所以能够在众多 CD 工具中脱颖而出,主要是因为它的特点突出。接下来,我就简单介绍一下 ArgoCD 的几个重要的特点,它们包括:
- 支持多种应用标准
- 开发者友好的 Dashboard
- 支持多租户
- 支持多集群
- 漂移检测
- 支持垃圾回收
- 其他特性
支持多种应用标准ArgoCD 几乎支持社区所有的应用封装格式,例如:
- Kustomize
- Helm
- Ksonnet
- YAML/JSON
- Manifes
不管你的 Kubernetes 应用是以哪种格式封装的,只要存储在 Git 仓库中,ArgoCD 都能够将它们作为应用导入。并通过对应的工具渲染成标准的 YAML Manifest,然后应用到集群内。