5.3. 为 Apache Kafka 安装 Knative 代理
Apache Kafka 的 Knative 代理实现提供了集成选项,供您在 OpenShift Serverless 中使用支持的 Apache Kafka 消息流平台版本。如果安装了 KnativeKafka
自定义资源,则 OpenShift Serverless 安装中提供了 Apache Kafka 功能的 Knative 代理。
先决条件
- 在集群中安装了 OpenShift Serverless Operator 和 Knative Eventing。
- 您可以访问 Red Hat AMQ Streams 集群。
-
如果要使用验证步骤,请安装 OpenShift CLI (
oc
) 。 - 在 OpenShift Container Platform 上具有集群管理员权限,或者具有 Red Hat OpenShift Service on AWS 或 OpenShift Dedicated 的集群或专用管理员权限。
- 已登陆到 OpenShift Container Platform Web 控制台。
流程
-
导航到 Operators
Installed Operators。 - 检查页面顶部的 Project 下拉菜单是否已设置为 Project: knative-eventing。
- 在 OpenShift Serverless Operator 的 Provided APIs 列表中,找到 Knative Kafka 复选框并点 Create Instance。
在 Create Knative Kafka 页面中配置 KnativeKafka 对象。
重要要在集群中使用 Kafka 频道、源、代理或 sink,您需要将要使用的属性的 enabled 选项设置为 true。这些交换机默认设置为 false。另外,要使用 Kafka 频道、代理或接收器,您必须指定 bootstrap 服务器。
- 对于不需要完全控制 KnativeKafka 对象创建的简单配置,请使用表单。
编辑 YAML 以了解更复杂的配置,需要完全控制 KnativeKafka 对象的创建。您可以通过点 Create Knative Kafka 页面中的 Edit YAML 链接来访问 YAML。
KnativeKafka
自定义资源示例Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 让开发人员在集群中使用
KafkaChannel
频道类型。 - 2
- 以逗号分隔的 AMQ Streams 集群中的 bootstrap 服务器列表。
- 3
- 让开发人员在集群中使用
KafkaSource
事件源类型。 - 4
- 让开发人员在集群中使用 Apache Kafka 的 Knative 代理实现。
- 5
- 来自 Red Hat AMQ Streams 集群的 bootstrap 服务器的逗号分隔列表。
- 6
- 定义 Kafka 主题分区的数量,由
Broker
对象支持。默认值为10
。 - 7
- 定义 Kafka 主题的复制因素,由
Broker
对象支持。默认值为3
。replicationFactor
值必须小于或等于 Red Hat AMQ Streams 集群的节点数量。 - 8
- 让开发人员在集群中使用 Kafka sink。
- 9
- 定义 Kafka 数据平面的日志级别。允许的值有
TRACE
,DEBUG
,INFO
,WARN
和ERROR
。默认值为INFO
。
警告不要将
DEBUG
或TRACE
用作生产环境中的日志记录级别。这些日志记录级别的输出非常详细,并可降低性能。
- 完成 Kafka 的任何可选配置后,点 Create。您会自动定向到 Knative Kafka 标签页,其中 knative-kafka 在资源列表中。
验证
- 点 Knative Kafka 选项卡中的 knative-kafka 资源。您会自动定向到 Knative Kafka Overview 页面。
查看资源的 Conditions 列表,并确认其状态为 True。
如果条件的状态为 Unknown 或 False,请等待几分钟刷新页面。
检查是否已创建 Apache Kafka 资源的 Knative 代理:
oc get pods -n knative-eventing
$ oc get pods -n knative-eventing
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow