事件源¶
事件源是一个Kubernetes自定义资源(CR),由开发人员或集群管理员创建,充当事件生成器和事件 sink 之间的链接。 接收器可以是k8s服务,包括Knative服务、通道或从事件源接收事件的代理。
通过从源对象实例化CR来创建事件源。 源对象定义实例化CR所需的参数和参数。
所有来源都是来源
类别的一部分。
通过输入kn命令,可以列出集群中现有的事件源:
kn source list
您可以通过输入以下命令列出集群上已有的事件源:
kubectl get sources
Note
从其他消息技术(如Kafka或RabbitMQ)导入事件的事件源不负责设置可选属性 比如datacontenttype
.
这是最初的事件制作人的责任;如果属性存在,源只追加属性。
Knative 源¶
名称 | 状态 | Maintainer | 描述 |
---|---|---|---|
APIServerSource | Stable | Knative | 将Kubernetes API服务器事件引入Knative。每次创建、更新或删除Kubernetes资源时,APIServerSource都会触发一个新事件。 |
Apache CouchDB | Alpha | Knative | 将Apache CouchDB消息引入Knative。 |
Apache Kafka | Stable | Knative | 将Apache Kafka消息引入Knative。KafkaSource从Apache Kafka Cluster中读取事件,并将这些事件传递给一个接收器,以便它们可以被使用。参见Kafka源示例了解更多细节。 |
ContainerSource | Stable | Knative | ContainerSource实例化可以生成事件的容器映像,直到删除ContainerSource为止。例如,这可以用于轮询FTP服务器以获取新文件或以设置的时间间隔生成事件。给定一个至少指定了一个容器映像的spec.template , ContainerSource将保持一个Pod运行在指定的映像中。K_SINK (目标地址)和KE_CE_OVERRIDES (JSON CloudEvents属性)环境变量被注入到运行映像中。它被多个其他源用作底层基础结构。有关更多细节,请参阅容器源示例。 |
GitHub | Beta | Knative | 在指定的GitHub组织或存储库中注册指定类型的事件,并将这些事件带入Knative。GitHubSource为选定的GitHub事件类型触发一个新事件。参见GitHub源示例了解更多细节。 |
GitLab | Beta | Knative | 在指定的GitLab存储库中注册指定类型的事件,并将这些事件带入Knative。GitLabSource为指定的事件类型创建一个webhook,监听传入的事件,并将它们传递给使用者。参见GitLab源示例了解更多细节。 |
KogitoSource | Alpha | Knative | 由Kogito Operator管理的Kogito Runtime自定义资源的实现。 |
PingSource | Stable | Knative | 在指定的Cron调度上生成具有固定有效负载的事件。参见Ping源示例了解更多详细信息。 |
RabbitMQ | Stable | Knative | 将RabbitMQ消息带入Knative。 |
RedisSource | Alpha | Knative | 将Redis流引入Knative。 |
SinkBinding | Stable | Knative | 可以使用Kubernetes提供的任何熟悉的计算抽象(例如Deployment、Job、DaemonSet、StatefulSet)或Knative抽象(例如Service、Configuration)来编写新的事件源。SinkBinding提供了一个框架,用于将K_SINK (目标地址)和K_CE_OVERRIDES (JSON cloudevents属性)环境变量注入到任何Kubernetes资源中,这些资源有一个看起来像Pod(又名PodSpecable)的spec.template 。更多细节请参见SinkBinding示例。 |
第三方源¶
Name | Status | Maintainer | Description |
---|---|---|---|
Amazon CloudWatch | Stable | TriggerMesh | 从Amazon CloudWatch收集指标. (安装) (示例) |
Amazon CloudWatch Logs | Stable | TriggerMesh | 订阅来自Amazon CloudWatch Logs流的日志事件。 (安装) (示例) |
AWS CodeCommit | Stable | TriggerMesh | 注册由AWS CodeCommit源代码存储库发出的事件。 (安装) (示例) |
Amazon Cognito Identity | Stable | TriggerMesh | Registers for events from Amazon Cognito identity pools. (安装) (示例) |
Amazon Cognito User | Stable | TriggerMesh | Registers for events from Amazon Cognito user pools. (安装) (示例) |
Amazon DynamoDB | Stable | TriggerMesh | Reads records from an Amazon DynamoDB stream. (安装) (示例) |
Amazon Kinesis | Stable | TriggerMesh | Reads records from an Amazon Kinesis stream. (安装) (示例) |
Amazon RDS Performance Insights | Stable | TriggerMesh | Subscribes to metrics from Amazon RDS Performance Insights. (安装) (示例) |
Amazon S3 | Stable | TriggerMesh | Subscribes to event notifications from an Amazon S3 bucket. (安装) (示例) |
Amazon SNS | Stable | TriggerMesh | Subscribes to messages from an Amazon SNS topic. (安装) (示例) |
Amazon SQS | Stable | TriggerMesh | Consumes messages from an Amazon SQS queue. (安装) (示例) |
Apache Camel | Stable | Apache Software Foundation | Enables use of Apache Camel components for pushing events into Knative. Camel sources are now provided via Kamelets as part of the Apache Camel K project. |
Azure Activity Logs | Stable | TriggerMesh | Capture activity logs from Azure Activity Logs. (安装) (示例) |
Azure Blob Storage | Stable | TriggerMesh | Subscribes to events from an Azure Blob Storage account. (安装) (示例) |
Azure Event Grid | Stable | TriggerMesh | Retrieves events from Azure Event Grid. (安装) (示例) |
Azure Event Hubs | Stable | TriggerMesh | Consumes events from Azure Event Hubs. (安装) (示例) |
Azure IoT Hub | Stable | TriggerMesh | Consumes event from Azure IoT Hub. (安装) (示例) |
Azure Queue Storage | Stable | TriggerMesh | Retrieves messages from Azure Queue Storage. (安装) (示例) |
Azure Service Bus Queues | Stable | TriggerMesh | Consumes messages from an Azure Service Bus queue. (安装) (示例) |
Azure Service Bus Topics | Stable | TriggerMesh | Subscribes to messages from an Azure Service Bus topic. (安装) (示例) |
Direktiv | Alpha | Direktiv | Receive events from Direktiv. |
DockerHubSource | Alpha | None | Retrieves events from Docker Hub Webhooks and transforms them into CloudEvents for consumption in Knative. |
Google Cloud Audit Logs | Stable | TriggerMesh | Captures audit logs from Google Cloud Audit Logs. (安装) (示例) |
Google Cloud Billing | Stable | TriggerMesh | Captures budget notifications from Google Cloud Billing. (安装) (示例) |
Google Cloud IoT | Stable | TriggerMesh | Subscribes to messages from a Google Cloud IoT registry. (安装) (示例) |
Google Cloud Pub/Sub | Stable | TriggerMesh | Subscribes to messages from a Google Cloud Pub/Sub topic. (安装) (示例) |
Google Cloud Source Repositories | Stable | TriggerMesh | Consumes events from Google Cloud Source Repositories. (安装) (示例) |
Google Cloud Storage | Stable | TriggerMesh | 捕获来自谷歌Cloud Storage桶的更改通知。 (安装) (示例) |
HTTP Poller | Stable | TriggerMesh | 定期从HTTP/S URL提取事件。 (安装) (示例) |
Oracle Cloud Infrastructure | Stable | TriggerMesh | 从Oracle云基础设施检索指标. (安装) (示例) |
Salesforce | Stable | TriggerMesh | 使用来自Salesforce通道的事件。(安装) (示例) |
Slack | Stable | TriggerMesh | 订阅Slack的活动。 (安装) (示例) |
Twilio | Supported | TriggerMesh | 从Twilio接收事件. (安装) (示例) |
VMware | Alpha | VMware | 将vSphere事件带入Knative。 |
Webhook | Stable | TriggerMesh | 使用HTTP从webhook中摄取事件。 (安装) (示例) |
Zendesk | Stable | TriggerMesh | 订阅Zendesk的事件。 (安装) (示例) |
额外的源¶
- 如果您的代码需要将事件作为其业务逻辑的一部分发送,并且不适合源的模型,请考虑将事件直接提供给代理。
- 有关使用
kn
源相关命令的更多信息,请参见kn source
参考文档。