Menu Close
6.3. Knative Kafka
除了作为 OpenShift Serverless 核心安装一部分的 Knative Eventing 组件外,集群管理员还可安装 KnativeKafka
自定义资源(CR)。
IBM Z 和 IBM Power Systems 目前不支持 Knative Kafka。
KnativeKafka
CR 为用户提供其他选项,例如:
- Kafka 源
- Kafka 频道
- Kafka 代理
Kafka 代理只是一个技术预览功能。技术预览功能不受红帽产品服务等级协议(SLA)支持,且功能可能并不完整。红帽不推荐在生产环境中使用它们。这些技术预览功能可以使用户提早试用新的功能,并有机会在开发阶段提供反馈意见。
有关红帽技术预览功能支持范围的详情,请参考 https://access.redhat.com/support/offerings/techpreview/。
6.3.1. 安装 Knative Kafka
OpenShift Serverless Operator 提供了 Knative Kafka API,可用于创建 KnativeKafka
自定义资源:
KnativeKafka
自定义资源示例
apiVersion: operator.serverless.openshift.io/v1alpha1 kind: KnativeKafka metadata: name: knative-kafka namespace: knative-eventing spec: channel: enabled: true 1 bootstrapServers: <bootstrap_servers> 2 source: enabled: true 3 broker: enabled: true 4 defaultConfig: bootstrapServers: <bootstrap_servers> 5 numPartitions: <num_partitions> 6 replicationFactor: <replication_factor> 7
- 1
- 让开发人员在集群中使用
KafkaChannel
频道类型。 - 2
- 以逗号分隔的 AMQ Streams 集群中的 bootstrap 服务器列表。
- 3
- 让开发人员在集群中使用
KafkaSource
事件源类型。 - 4
- 让开发人员在集群中使用 Knative Kafka 代理实现。
- 5
- 来自 Red Hat AMQ Streams 集群的 bootstrap 服务器的逗号分隔列表。
- 6
- 定义 Kafka 主题分区的数量,由
Broker
对象支持。默认值为10
。 - 7
- 定义 Kafka 主题的复制因素,由
Broker
对象支持。默认值为3
。注意replicationFactor
值必须小于或等于 Red Hat AMQ Streams 集群的节点数量。
先决条件
- 已在 OpenShift Container Platform 集群中安装了 OpenShift Serverless(包括 Knative Eventing)。
- 您可以访问 Red Hat AMQ Streams 集群。
- 在 OpenShift Container Platform 上具有集群管理员权限。
- 已登陆到 OpenShift Container Platform Web 控制台。
步骤
- 在 Administrator 视角中,进入 Operators → Installed Operators。
- 检查页面顶部的 Project 下拉菜单是否已设置为 Project: knative-eventing。
- 在 OpenShift Serverless Operator 的 Provided APIs 列表中,找到 Knative Kafka 复选框并点 Create Instance。
在 Create Knative Kafka 页面中配置 KnativeKafka 对象。
重要要在集群中使用 Kafka 频道、源或代理,您必须切换要使用的选项的 启用 切换。这些交换机默认设置为 false。另外,要使用 Kafka 频道或代理,您必须指定 bootstrap 服务器。
- 建议您在不需要完全控制 KnativeKafka 对象创建的简单配置中使用该表单。
- 对于更复杂的配置,建议编辑 YAML,这可以完全控制 KnativeKafka 对象的创建。您可以通过点 Create Knative Kafka 页面右上角的 Edit YAML 链接来访问 YAML。
- 完成 Kafka 的任何可选配置后,点 Create。您会自动定向到 Knative Kafka 标签页,其中 knative-kafka 在资源列表中。
验证
- 点 Knative Kafka 选项卡中的 knative-kafka 资源。您会自动定向到 Knative Kafka Overview 页面。
查看资源的 Conditions 列表,并确认其状态为 True。
如果条件的状态为 Unknown 或 False,请等待几分钟刷新页面。
检查是否已创建 Knative Kafka 资源:
$ oc get pods -n knative-eventing
输出示例
NAME READY STATUS RESTARTS AGE kafka-ch-controller-85f879d577-xcbjh 1/1 Running 0 44s kafka-ch-dispatcher-55d76d7db8-ggqjl 1/1 Running 0 44s kafka-controller-manager-bc994c465-pt7qd 1/1 Running 0 40s kafka-webhook-54646f474f-wr7bb 1/1 Running 0 42s