Argo CD 简介

简单场景

img

  1. Argo CD 从 Git Repo 拉取应用的配置,部署在 Kubernetes 集群中。
  2. 当有人新增功能时,提交一个 Pull Requests 到 Git Repo 修改应用的部署配置,等待合并。
  3. 在 Pull Requests 合并之后,通过 Webhook 触发 Argo CD 执行更新操作。
  4. 应用得到更新,发送通知

理解起来很容易,将运维过程自动化,持续的部署。

稍微复杂的场景

img

在 Argo CD 的处理逻辑中,定义了四个组件:

  • Event Source, 接入各种事件消息
  • Sensor, 将消息转换为触发的动作
  • Eventbus, 消息订阅路由系统
  • Trigger, 触发外部的实际动作

对于运维人员,需要了解的主要是两点:

  • Argo CD 可以处理什么事件?AMQP、AWS SNS、AWS SQS、Cron Schedules、GCP PubSub、GitHub、GitLab、HDFS、File Based Events、Kafka、Minio、NATS、MQTT、K8s Resources、Slack、NetApp StorageGrid、Webhooks、Stripe、NSQ、Emitter、Redis、Azure Events Hub
  • Argo CD 可以处理执行哪些动作?Argo Workflows、Standard K8s Objects、HTTP Requests、AWS Lambda、NATS Messages、Kafka Messages、Slack Notifications、Argo Rollouts CR、Custom / Build Your Own Triggers、Apache OpenWhisk