我是DevOps的新手,我正在尝试理解不同的工具如何在CI/CD管道中组合在一起。我听说过亚特兰蒂斯和ArgoCD,但我不确定它们是如何一起工作的。
据我所知,Atlantis是一个用于在pull请求中自动合并和部署基础架构更改的工作流程的工具。它集成了您的版本控制系统和您选择的基础结构即代码(IAC)工具。
另一方面,ArgoCD是Kubernetes应用程序自动化部署和生命周期管理的工具。它可以基于GitOps原则部署应用程序,其中所需的集群状态在Git中定义,并由ArgoCD不断协调。
我的问题是:同时使用Atlantis和ArgoCD的用例是什么?这样做有什么好处或缺点吗?例如,Atlantis可以用于自动部署基础设施更改到由ArgoCD管理的Kubernetes集群吗?或者ArgoCD可以用来管理亚特兰蒂斯本身的部署?我们可以使用亚特兰蒂斯而不是argocd来管理所有的东西(github资源,k8s集群等)吗?只使用亚特兰蒂斯有什么缺点吗?
提前感谢任何见解或建议!
Atlantis是用于在使用Terraform时扩展CICD管道功能的项目。
ArgoCD是一个用于部署和同步应用到Kubernetes集群的GitOps工具。
既然你可以使用Terraform来配置你的ArgoCD集群,你也可以将Atlantis与ArgoCD一起使用。一种情况是让开发人员使用Terraform创建一个新的ArgoCD应用程序,然后将其推送到Git存储库。当pull请求被创建时,Atlantis将运行Terraform计划/申请新资源并将更改填充到ArgoCD中。
我认为在你的工作流程中使用ArgoCD和Atlantis只有在为ArgoCD引导ApplicationSet之前才有帮助,因为使用ApplicationSet你将直接从Git创建新的应用程序。