This documentation is for a release that is no longer maintained
See documentation for the latest supported version 3 or the latest supported version 4.10.5. 使用 SinkBinding
SinkBinding 用于将事件和 事件源连接至事件消费者或 事件 sink(如一个 Knative 服务或应用程序)。
以下两个流程都要求您创建 YAML 文件。
如果更改了示例中使用的 YAML 文件的名称,则需要更新对应的 CLI 命令。
10.5.1. 通过 Knative CLI (kn) 使用 SinkBinding 复制链接链接已复制到粘贴板!
本指南描述了使用 kn
命令创建、管理和删除 SinkBinding 实例所需的步骤。
先决条件
- 已安装 Knative Serving 和 Eventing。
-
已安装
kn
CLI。
流程
要检查 SinkBinding 是否已正确设置,请创建一个 Knative 事件显示服务或事件 sink,在日志中转储传入的信息:
kn service create event-display --image quay.io/openshift-knative/knative-eventing-sources-event-display:latest
$ kn service create event-display --image quay.io/openshift-knative/knative-eventing-sources-event-display:latest
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 创建一个 SinkBinding 把事件发送到服务:
kn source binding create bind-heartbeat --subject Job:batch/v1:app=heartbeat-cron --sink svc:event-display
$ kn source binding create bind-heartbeat --subject Job:batch/v1:app=heartbeat-cron --sink svc:event-display
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 创建 CronJob:
创建名为
heartbeats-cronjob.yaml
的文件,并将以下示例代码复制到其中:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在创建了
heartbeats-cronjob.yaml
文件后,请输入:oc apply -f heartbeats-cronjob.yaml
$ oc apply -f heartbeats-cronjob.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
输入以下命令并检查输出,检查是否正确映射了控制器:
kn source binding describe bind-heartbeat
$ kn source binding describe bind-heartbeat
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Copy to Clipboard Copied! Toggle word wrap Toggle overflow
验证步骤
您可以通过查看消息 dumper 功能日志,来验证 Kubernetes 事件是否已发送到 Knative 事件。
您可以输入以下命令来查看消息转储程序功能日志:
oc get pods
$ oc get pods
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc logs $(oc get pod -o name | grep event-display) -c user-container
$ oc logs $(oc get pod -o name | grep event-display) -c user-container
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Copy to Clipboard Copied! Toggle word wrap Toggle overflow
10.5.2. 通过 YAML 的方法使用 SinkBinding 复制链接链接已复制到粘贴板!
本指南描述了使用 YAML 文件创建、管理和删除 SinkBinding 实例所需的步骤。
先决条件
- 已安装 Knative Serving 和 Eventing。
流程
要检查 SinkBinding 是否已正确设置,请创建一个 Knative 事件显示服务或事件挂起,从而在日志中转储传入的信息。
将以下示例 YAML 复制到一个名为
service.yaml
的文件中:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 创建
service.yaml
文件后,输入以下内容应用它:oc apply -f service.yaml
$ oc apply -f service.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
创建将事件定向到该服务的 SinkBinding。
创建名为
sinkbinding.yaml
的文件,并将以下示例代码复制到其中:Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 在本例中,任何具有标签
app: heartbeat-cron
的作业都将被绑定到事件 sink。
创建
sinkbinding.yaml
文件后,输入以下内容应用它:oc apply -f sinkbinding.yaml
$ oc apply -f sinkbinding.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
创建 CronJob:
创建名为
heartbeats-cronjob.yaml
的文件,并将以下示例代码复制到其中:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在创建了
heartbeats-cronjob.yaml
文件后,请输入:oc apply -f heartbeats-cronjob.yaml
$ oc apply -f heartbeats-cronjob.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
输入以下命令并检查输出,检查是否正确映射了控制器:
oc get sinkbindings.sources.knative.dev bind-heartbeat -oyaml
$ oc get sinkbindings.sources.knative.dev bind-heartbeat -oyaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Copy to Clipboard Copied! Toggle word wrap Toggle overflow
验证步骤
您可以通过查看消息 dumper 功能日志,来验证 Kubernetes 事件是否已发送到 Knative 事件。
输入命令:
oc get pods
$ oc get pods
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输入命令:
oc logs $(oc get pod -o name | grep event-display) -c user-container
$ oc logs $(oc get pod -o name | grep event-display) -c user-container
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow