7.4. (Preview) UseKRaft 功能门


UseKRaft 功能门具有 禁用的 默认状态。

UseKRaft 功能门在没有 ZooKeeper 的情况下在 KRaft (Kafka Raft 元数据)模式中部署 Kafka 集群。ZooKeeper 和 KRaft 是用于管理 Kafka 集群中元数据和协调操作的机制。KRaft 模式消除了对 ZooKeeper 等外部协调服务的需求。在 KRaft 模式中,Kafka 节点使用代理、控制器或两者的角色。它们一起管理元数据,该元数据在分区之间复制。控制器负责协调操作和维护集群的状态。

此功能门目前仅适用于开发和测试。

重要

KRaft 模式在 Apache Kafka 或 AMQ Streams 中不适用于生产环境。

启用 UseKRaft 功能门需要启用 KafkaNodePools 功能门。要以 KRaft 模式部署 Kafka 集群,您必须使用 KafkaNodePool 资源。如需了解更多详细信息和示例,请参阅 第 6.3.2 节 “(预览)部署 Kafka 节点池”

当启用 UseKRaft 功能门时,Kafka 集群会在没有 ZooKeeper 的情况下部署。Kafka 自定义资源中的 .spec.zookeeper 属性会被忽略,但仍然需要存在。UseKRaft 功能门提供了一个 API,用于配置 Kafka 集群节点及其角色。API 仍在开发中,预期在 KRaft 模式为生产环境就绪前有所变化。

目前,AMQ Streams 中的 KRaft 模式有以下主要限制:

  • 不支持从 ZooKeeper 移动到 KRaft 集群或其他方法。
  • 只有 controller-only 节点无法单独进行滚动更新或单独更新。
  • 不支持升级和降级 Apache Kafka 版本或 AMQ Streams operator。用户可能需要删除集群,升级 Operator 并部署一个新的 Kafka 集群。
  • KRaft 模式 只支持 Un idirectional Topic Operator。您可以使用 UnidirectionalTopicOperator 功能门启用它。不支持 Bidirectional Topic Operator,当没有启用 UnidirectionalTopicOperator 功能门时,spec.entityOperator.topicOperator 属性 必须从 Kafka 自定义资源中删除。
  • 不支持 JBOD 存储。可以使用 type: jbod 存储,但 JBOD 数组只能包含一个磁盘。

启用 UseKRaft 功能门

要启用 UseKRaft 功能门,在 Cluster Operator 配置中的 STRIMZI_FEATURE_GATES 环境变量中指定 +UseKRaft,+KafkaNodePools

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat