使用 Argo 进行微服务部署

Using Argo for microservices deployment

我想使用 CI/CD 工具将我的微服务部署到 kubernetes 集群中。 刚开始学习CI/CD的概念,想创个环境看看 它在实践中是如何工作的。

根据我的理解,部署应该如下所示:

如上所述,我想将微服务部署到K8S集群中 我找到了 https://argoproj.github.io。我想,这就是我要找的。

Argo 提供了不同的工具,例如 Workflow,但是 Workflow 有什么用呢?当我使用 Workflow 时,ArgoCD 就不需要了吗?或者在 ArgoCD 中使用 Workflow?

当 Git 存储库发生某些更改时,如何自动触发工作流?

Why Argo Workflows?

在典型的 CD 设置中,您需要执行多个步骤并将它们连接在一起并创建管道。 Argo 工作流提供了该功能。 argo 的价值主张是工作流中的每个步骤都是一个容器,argo 本身在 kubernetes 上本地运行。

When I would use Workflow, then ArgoCD is unnecessary? Or use Workflow inside ArgoCD?

ArgoCD 只需要 deploy/sync 将应用程序工件更改为 kubernetes 集群。通常,您需要在工作流程结束时部署更改,但这可能会因您的用例而异。

How to trigger a workflow automatically, when some changes happen on the Git repository?

您可以在基于 git 的触发器上使用 argoEvents to trigger argo workflow. Check the doc