Eventing Source

Eventing Source

https://knative.dev/docs/eventing/sources/

事件源是 Kubernetes 自定义资源,它提供了一种机制用于注册特定软件系统对某一类事件的兴趣。由于不同的事件源可能由不同的自定义资源来描述,本页面提供了可用的源资源类型的索引以及安装说明的链接。

这是为Knative提供的非详尽的事件来源列表。

包含在这个列表中并不意味着认可,也不意味着任何程度的支持。

Sources

这些都是作为CRD安装的source。

Name Status Support Description
AWS SQS 概念验证 None Brings AWS Simple Queue Service messages into Knative.
Apache Camel 概念验证 None Allows to use Apache Camel components for pushing events into Knative.
Apache CouchDB 积极开发中 None Brings Apache CouchDB messages into Knative.
Apache Kafka 概念验证 None Brings Apache Kafka messages into Knative.
BitBucket 概念验证 None Registers for events of the specified types on the specified BitBucket organization/repository. Brings those events into Knative.
CloudAuditLogsSource 积极开发中 None Registers for events of the specified types on the specified Google Cloud Audit Logs. Brings those events into Knative.
CloudPubSubSource 积极开发中 None Brings Cloud Pub/Sub messages into Knative.
CloudSchedulerSource 积极开发中 None Create, update, and delete Google Cloud Scheduler Jobs. When those jobs are triggered, receive the event inside Knative.
CloudStorageSource 积极开发中 None Registers for events of the specified types on the specified Google Cloud Storage bucket and optional object prefix. Brings those events into Knative.
Cron Job 被PingSource替代 None Deprecated, replace with PingSource or a CronJob using SinkBinding
GitHub 概念验证 None Registers for events of the specified types on the specified GitHub organization/repository. Brings those events into Knative.
GitLab 概念验证 None Registers for events of the specified types on the specified GitLab repository. Brings those events into Knative.
Kubernetes 积极开发中 Knative 将Kubernetes API服务器事件引入Knative。
Ping 发展中 None 使用内存中的定时器,按照指定的cron计划产生具有固定有效载荷的事件。
VMware 积极开发中 None Brings vSphere events into Knative.

Meta Sources

这些虽然不能直接使用,但可以让写Source变得更容易。

Name Status Support Description
Auto Container Source 概念验证 None AutoContainerSource是一个控制器,它允许Source CRD不需要控制器。它注意到具有特定标签的CRD并开始控制该类型的资源。它利用Container Source作为底层基础设施。
Container Source 积极开发中 Knative 给定一个至少指定了容器镜像的 spec.template,ContainerSource 将使用指定的镜像运行 Pod 。K_SINK(目标地址)和KE_CE_OVERRIDES(JSON CloudEvents属性)环境变量被注入到运行的镜像中。它被其他多个Sources用作底层基础设施。
Sample Source 积极开发中 Knative Used as reference implementation supporting Writing an Event Source from Scratch tutorial.
SinkBinding 积极开发中 Knative SinkBinding提供了一个框架,用于将K_SINK(目标地址)和K_CE_OVERRIDES(JSON cloudevents属性)环境变量注入到任何Kubernetes资源中,这些资源的 spec.template 看起来像Pod(又名PodSpecable)。

ContainerSource Containers

Source Containers

这些都是打算和ContainerSource一起使用的容器。

Name Status Support Description
AWS CodeCommit Supported TriggerMesh 在指定的AWS CodeCommit仓库中注册指定类型的事件。将这些事件带入Knative。
AWS Cognito Supported TriggerMesh 注册AWS Cognito事件。将这些事件带入Knative。
AWS DynamoDB Supported TriggerMesh 注册指定的AWS DynamoDB表上的事件。将这些事件带入Knative。
AWS Kinesis Supported TriggerMesh 注册指定AWS Kinesis stream上的事件。将这些事件带入Knative。
AWS SNS Supported TriggerMesh 注册指定AWS SNS端点的事件。将这些事件带入Knative。
AWS SQS Supported TriggerMesh 注册指定AWS SQS队列的事件。将这些事件带入Knative。
FTP / SFTP Proof of concept None 监视上传到FTP/SFTP的文件,并为这些文件生成事件。
Heartbeat Proof of Concept None 使用内存中的定时器,以指定的时间间隔产生事件。使用AutoContainerSource作为底层基础设施。
Heartbeats Proof of Concept None 使用内存中的定时器以指定的时间间隔产生事件。
K8s Proof of Concept None 将Kubernetes集群事件引入Knative。使用AutoContainerSource作为基础设施。
WebSocket Active Development None 向指定的源打开WebSocket,并将每个收到的消息打包为Knative事件。

SinkBindings

这些都是打算与SinkBinding一起使用的容器。

Name Status Support Description
Konnek Active Development None 从云平台(如AWS和GCP)检索事件,并将其转化为CloudEvents在Knative中消费。