argo-events学习

作用

主要是基于k8s的一个事件驱动的工作流,目前可以收集20种以上不同的资源事件,并且可以根据事件触发10+种操作。官方介绍的主要功能如下:

  1. 支持20+事件源和10+的事件触发动作
  2. 可以自定义包含商业逻辑的自动任务流
  3. 能处理复杂的、多种事件源,简化事件处理
  4. 适配云事件

架构

argo-events架构

主要由以下四部分组成:

  1. event source
    主要用于收集事件信息,目前支持多种事件源。例如:
    AMQP
    AWS SNS
    AWS SQS
    Azure Events Hub
    Azure Queue Storage
    Bitbucket
    Bitbucket Server
    Calendar
    Emitter
    File Based Events
    GCP PubSub
    Generic EventSource
    GitHub
    GitLab
    HDFS
    K8s Resources
    Kafka
    Minio
    NATS
    NetApp StorageGrid
    MQTT
    NSQ
    Pulsar
    Redis
    Slack
    Stripe
    Webhooks
    目前我们更关注k8s resource相关的event source设置。
  2. sensor
    主要从event bug消费event数据,定义事件的处理规格和触发行为。
  3. eventBus
    主要用于传输event消息,目前有三种消息组件:nats,jetstream和kafka
  4. trigger
    支持12中触发动作,如下:
    AWS Lambda
    Apache OpenWhisk
    Argo Rollouts
    Argo Workflows
    Custom - Build Your Own
    HTTP Requests - Serverless Workloads (OpenFaaS, Kubeless, KNative etc.)
    Kafka Messages
    NATS Messages
    Slack Notifications
    Azure Event Hubs Messages
    Create any Kubernetes Objects
    Log (for debugging event bus messages)
    从图中可看出,event source controller主要用于收集events,controller部署了一个deployment资源专门用于监听各类事件,并且写入event bug中。event bus就是一个事件总线存储,用于存储event source controller收集到的事件信息。sensor controller监听sensor资源,并且从event bus中获取事件,若获取到sensor中匹配的事件,则创建sensor deployment用于触发事件后续操作。

部署

参考官方quick start:https://argoproj.github.io/argo-events/quick_start/

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容