5.12.3. 使用 Knative CLI 创建订阅
创建频道和事件 sink 后,您可以创建一个订阅来启用事件交付。使用 Knative (kn
) CLI 创建订阅提供了比直接修改 YAML 文件更精简且直观的用户界面。您可以使用带有适当标志的 kn subscription create
命令创建订阅。
先决条件
- OpenShift Serverless Operator 和 Knative Eventing 已安装在 OpenShift Container Platform 集群中。
-
已安装 Knative(
kn
)CLI。 - 您已创建了一个项目,或者具有适当的角色和权限访问项目,以便在 OpenShift Container Platform 中创建应用程序和其他工作负载。
流程
创建订阅以将接收器连接到频道:
$ kn subscription create <subscription_name> \ --channel <group:version:kind>:<channel_name> \ 1 --sink <sink_prefix>:<sink_name> \ 2 --sink-dead-letter <sink_prefix>:<sink_name> 3
- 1
--channel
指定应处理的云事件的来源。您必须提供频道名称。如果您没有使用由Channel
自定义资源支持的默认InMemoryChannel
频道,您必须为指定频道类型添加<group:version:kind>
前缀。例如: Kafka 支持的频道是messaging.knative.dev:v1beta1:KafkaChannel
。- 2
--sink
指定事件要传送到的目标目的地。默认情况下,<sink_name>
解释为此名称的 Knative 服务,与订阅位于同一个命名空间中。您可以使用以下前缀之一指定接收器类型:ksvc
- Knative 服务。
channel
- 作为目的地的频道。这里只能引用默认频道类型。
broker
- Eventing 代理。
- 3
- 可选:
--sink-dead-letter
是一个可选标志,可用于指定在无法发送事件时哪些事件应发送到的接收器如需更多信息,请参阅 OpenShift Serverless 事件交付文档。示例命令
$ kn subscription create mysubscription --channel mychannel --sink ksvc:event-display
输出示例
Subscription 'mysubscription' created in namespace 'default'.
验证
要确认频道已连接到事件接收器或 subscriber,使用一个订阅列出现有订阅并检查输出:
$ kn subscription list
输出示例
NAME CHANNEL SUBSCRIBER REPLY DEAD LETTER SINK READY REASON mysubscription Channel:mychannel ksvc:event-display True
删除订阅
删除订阅:
$ kn subscription delete <subscription_name>