通道是自定义资源,定义了单个事件转发和持久化层。事件从事件源或生产者发送到通道后,可以使用订阅将这些事件发送到多个 Knative 服务或其他接收器。
您可以通过实例化受支持的Channel
对象来创建通道,并通过修改Subscription
对象中的delivery
规范来配置重新传递尝试。
在您的集群上安装 Knative Eventing 后,您可以使用管理员视角创建通道。
OpenShift Serverless 运算符和 Knative Eventing 已安装在您的 OpenShift Container Platform 集群上。
您已登录到 Web 控制台并处于**管理员**视角。
您拥有 OpenShift Container Platform 的集群管理员权限,或者您拥有 Red Hat OpenShift Service on AWS 或 OpenShift Dedicated 的集群或专用管理员权限。
在 OpenShift Container Platform Web 控制台的**管理员**视角中,导航到**无服务器** → **Eventing**。
在**创建**列表中,选择**通道**。您将被定向到**通道**页面。
在**类型**列表中选择要创建的Channel
对象的类型。
目前,默认情况下仅支持 |
单击**创建**。
使用 OpenShift Container Platform Web 控制台提供了一个简化的直观用户界面来创建通道。在您的集群上安装 Knative Eventing 后,您可以使用 Web 控制台创建通道。
您已登录到 OpenShift Container Platform Web 控制台。
OpenShift Serverless 运算符和 Knative Eventing 已安装在您的 OpenShift Container Platform 集群上。
您已创建项目或有权访问具有在 OpenShift Container Platform 中创建应用程序和其他工作负载的相应角色和权限的项目。
在**开发者**视角中,导航到**+添加** → **通道**。
在**类型**列表中选择要创建的Channel
对象的类型。
单击**创建**。
通过导航到**拓扑**页面确认通道现在已存在。
使用 Knative (kn
) 命令行界面 (CLI) 创建通道比直接修改 YAML 文件更简化、更直观。您可以使用 kn channel create
命令创建通道。
集群上已安装 OpenShift Serverless 运算符和 Knative Eventing。
您已安装 Knative (kn
) CLI。
您已创建项目或有权访问具有在 OpenShift Container Platform 中创建应用程序和其他工作负载的相应角色和权限的项目。
创建通道
$ kn channel create <channel_name> --type <channel_type>
通道类型是可选的,但如果指定,则必须使用 Group:Version:Kind
格式给出。例如,您可以创建一个 InMemoryChannel
对象。
$ kn channel create mychannel --type messaging.knative.dev:v1:InMemoryChannel
Channel 'mychannel' created in namespace 'default'.
要确认通道现在已存在,请列出现有通道并检查输出。
$ kn channel list
kn channel list
NAME TYPE URL AGE READY REASON
mychannel InMemoryChannel http://mychannel-kn-channel.default.svc.cluster.local 93s True
删除通道
$ kn channel delete <channel_name>
使用 YAML 文件创建 Knative 资源使用声明式 API,使您可以声明式且可重现地描述通道。要使用 YAML 创建无服务器通道,您必须创建一个定义 Channel
对象的 YAML 文件,然后使用 oc apply
命令应用它。
集群上已安装 OpenShift Serverless 运算符和 Knative Eventing。
安装 OpenShift CLI (oc
)。
您已创建项目或有权访问具有在 OpenShift Container Platform 中创建应用程序和其他工作负载的相应角色和权限的项目。
创建一个作为 YAML 文件的 Channel
对象。
apiVersion: messaging.knative.dev/v1
kind: Channel
metadata:
name: example-channel
namespace: default
应用 YAML 文件。
$ oc apply -f <filename>
使用 YAML 文件创建 Knative 资源使用声明式 API,使您可以声明式且可重现地描述通道。您可以通过创建 Kafka 通道来创建一个由 Kafka 主题支持的 Knative Eventing 通道。要使用 YAML 创建 Kafka 通道,您必须创建一个定义 KafkaChannel
对象的 YAML 文件,然后使用 oc apply
命令应用它。
您的 OpenShift Container Platform 集群上已安装 OpenShift Serverless 运算符、Knative Eventing 和 KnativeKafka
自定义资源。
安装 OpenShift CLI (oc
)。
您已创建项目或有权访问具有在 OpenShift Container Platform 中创建应用程序和其他工作负载的相应角色和权限的项目。
创建一个作为 YAML 文件的 KafkaChannel
对象。
apiVersion: messaging.knative.dev/v1beta1
kind: KafkaChannel
metadata:
name: example-channel
namespace: default
spec:
numPartitions: 3
replicationFactor: 1
OpenShift Serverless 上仅支持 |
应用 KafkaChannel
YAML 文件。
$ oc apply -f <filename>