7.2. 稳定的功能门(Beta)
稳定的功能门已达到 beta 阶段,一般默认为所有用户启用。稳定的功能门是生产环境就绪,但仍然可以禁用它们。
7.2.1. UseKRaft 功能门 复制链接链接已复制到粘贴板!
UseKRaft 功能门 启用了 默认状态。
UseKRaft 功能门以 KRaft (Kafka Raft 元数据)模式部署 Kafka 集群,而无需 ZooKeeper。ZooKeeper 和 KRaft 是用于管理 Kafka 集群中元数据和协调操作的机制。KRaft 模式消除了对 ZooKeeper 等外部协调服务的需求。在 KRaft 模式中,Kafka 节点使用代理、控制器或两者的角色。它们一起管理元数据,该元数据在分区之间复制。控制器负责协调操作和维护集群的状态。
使用 UseKRaft 功能门需要启用 KafkaNodePools 功能门。要以 KRaft 模式部署 Kafka 集群,您必须使用 KafkaNodePool 资源。如需了解更多详细信息和示例,请参阅 第 6.3.1 节 “使用节点池部署 Kafka 集群”。使用 KRaft 模式的 Kafka 自定义资源还必须具有注解 strimzi.io/kraft="enabled"。
目前,Apache Kafka Streams 中的 KRaft 模式有以下主要限制:
-
KRaft 模式 只支持 Un idirectional Topic Operator。不支持 Bidirectional Topic Operator,当
UnidirectionalTopicOperator功能门被禁用时,spec.entityOperator.topicOperator属性 必须从Kafka自定义资源中删除。 -
不支持 JBOD 存储。可以使用
type: jbod存储,但 JBOD 数组只能包含一个磁盘。 - 不支持扩展 KRaft 只在控制器或缩减的节点。
- 取消从 Kafka 集群中删除 Kafka 节点。
禁用 UseKRaft 功能门
要禁用 UseKRaft 功能门,在 Cluster Operator 配置中的 STRIMZI_FEATURE_GATES 环境变量中指定 -UseKRaft。
7.2.2. KafkaNodePools 功能门 复制链接链接已复制到粘贴板!
KafkaNodePools 功能门 启用了 默认状态。
KafkaNodePools 功能门引入了一个新的 KafkaNodePool 自定义资源,该资源启用配置不同 Apache Kafka 节点池。
节点池指的是 Kafka 集群中不同的 Kafka 节点组。每个池都有自己的唯一的配置,其中包括强制设置,如副本数、存储配置和分配的角色列表。您可以将 控制器 角色、代理 角色或两个角色都分配给 .spec.roles 字段中池中的所有节点。当与基于 ZooKeeper 的 Apache Kafka 集群一起使用时,必须将其设置为 broker 角色。与 UseKRaft 功能门一起使用时,它可以设置为 代理、控制器 或两者。
此外,节点池可以自行配置资源请求和限值、Java JVM 选项和资源模板。没有在 KafkaNodePool 资源中设置的配置选项从 Kafka 自定义资源继承。
KafkaNodePool 资源使用 strimzi.io/cluster 标签来指示它们所属的 Kafka 集群。该标签必须设置为 Kafka 自定义资源的名称。
KafkaNodePool 资源的示例可在 Apache Kafka 的 Streams 提供 的示例配置文件 中找到。
禁用 KafkaNodePools 功能门
要禁用 KafkaNodePools 功能门,在 Cluster Operator 配置中的 STRIMZI_FEATURE_GATES 环境变量中指定 -KafkaNodePools。使用节点池的 Kafka 自定义资源还必须具有注解 strimzi.io/node-pools: enabled。
从 KafkaNodePools 降级
如果您的集群已使用 KafkaNodePool 自定义资源,并且希望降级到 Apache Kafka 的旧版本,不支持它们或禁用 KafkaNodePools 功能门,您必须首先从 KafkaNodePool 自定义资源迁移到只使用 Kafka 自定义资源管理 Kafka 节点。
7.2.3. UnidirectionalTopicOperator 功能门 复制链接链接已复制到粘贴板!
UnidirectionalTopicOperator 功能门 启用了 默认状态。
UnidirectionalTopicOperator 功能门引入了一个单向主题管理模式,用于使用 KafkaTopic 资源创建 Kafka 主题。单向模式与使用 KRaft 进行集群管理兼容。使用单向模式,您可以使用 KafkaTopic 资源创建 Kafka 主题,然后由 Topic Operator 管理。对 KafkaTopic 资源之外的主题的任何配置更改都会被恢复。有关主题管理的详情,请参考 第 10.1 节 “主题管理模式”。
禁用 UnidirectionalTopicOperator 功能门
要禁用 UnidirectionalTopicOperator 功能门,在 Cluster Operator 配置中的 STRIMZI_FEATURE_GATES 环境变量中指定 -UnidirectionalTopicOperator。