7.2. Stable feature gates (Beta)


Stable feature gates have reached a beta level of maturity, and are generally enabled by default for all users. Stable feature gates are production-ready, but they can still be disabled.

7.2.1. UseKRaft feature gate

The UseKRaft feature gate has a default state of enabled.

The UseKRaft feature gate deploys a Kafka cluster in KRaft (Kafka Raft metadata) mode without ZooKeeper. ZooKeeper and KRaft are mechanisms used to manage metadata and coordinate operations in Kafka clusters. KRaft mode eliminates the need for an external coordination service like ZooKeeper. In KRaft mode, Kafka nodes take on the roles of brokers, controllers, or both. They collectively manage the metadata, which is replicated across partitions. Controllers are responsible for coordinating operations and maintaining the cluster’s state.

Using the UseKRaft feature gate requires the KafkaNodePools feature gate to be enabled as well. To deploy a Kafka cluster in KRaft mode, you must use the KafkaNodePool resources. For more details and examples, see 第 6.3.1 节 “Deploying a Kafka cluster with node pools”. The Kafka custom resource using KRaft mode must also have the annotation strimzi.io/kraft="enabled".

Currently, the KRaft mode in Streams for Apache Kafka has the following major limitations:

  • Only the Unidirectional Topic Operator is supported in KRaft mode. The Bidirectional Topic Operator is not supported and when the UnidirectionalTopicOperator feature gate is disabled, the spec.entityOperator.topicOperator property must be removed from the Kafka custom resource.
  • JBOD storage is not supported. The type: jbod storage can be used, but the JBOD array can contain only one disk.
  • Scaling of KRaft controller-only nodes up or down is not supported.
  • Unregistering Kafka nodes removed from the Kafka cluster.

Disabling the UseKRaft feature gate

To disable the UseKRaft feature gate, specify -UseKRaft in the STRIMZI_FEATURE_GATES environment variable in the Cluster Operator configuration.

7.2.2. KafkaNodePools feature gate

The KafkaNodePools feature gate has a default state of enabled.

The KafkaNodePools feature gate introduces a new KafkaNodePool custom resource that enables the configuration of different pools of Apache Kafka nodes.

A node pool refers to a distinct group of Kafka nodes within a Kafka cluster. Each pool has its own unique configuration, which includes mandatory settings such as the number of replicas, storage configuration, and a list of assigned roles. You can assign the controller role, broker role, or both roles to all nodes in the pool in the .spec.roles field. When used with a ZooKeeper-based Apache Kafka cluster, it must be set to the broker role. When used with the UseKRaft feature gate, it can be set to broker, controller, or both.

In addition, a node pool can have its own configuration of resource requests and limits, Java JVM options, and resource templates. Configuration options not set in the KafkaNodePool resource are inherited from the Kafka custom resource.

The KafkaNodePool resources use a strimzi.io/cluster label to indicate to which Kafka cluster they belong. The label must be set to the name of the Kafka custom resource.

Examples of the KafkaNodePool resources can be found in the example configuration files provided by Streams for Apache Kafka.

Disabling the KafkaNodePools feature gate

To disable the KafkaNodePools feature gate, specify -KafkaNodePools in the STRIMZI_FEATURE_GATES environment variable in the Cluster Operator configuration. The Kafka custom resource using the node pools must also have the annotation strimzi.io/node-pools: enabled.

Downgrading from KafkaNodePools

If your cluster already uses KafkaNodePool custom resources, and you wish to downgrade to an older version of Streams for Apache Kafka that does not support them or with the KafkaNodePools feature gate disabled, you must first migrate from KafkaNodePool custom resources to managing Kafka nodes using only Kafka custom resources.

7.2.3. UnidirectionalTopicOperator feature gate

The UnidirectionalTopicOperator feature gate has a default state of enabled.

The UnidirectionalTopicOperator feature gate introduces a unidirectional topic management mode for creating Kafka topics using the KafkaTopic resource. Unidirectional mode is compatible with using KRaft for cluster management. With unidirectional mode, you create Kafka topics using the KafkaTopic resource, which are then managed by the Topic Operator. Any configuration changes to a topic outside the KafkaTopic resource are reverted. For more information on topic management, see 第 10.1 节 “Topic management modes”.

Disabling the UnidirectionalTopicOperator feature gate

To disable the UnidirectionalTopicOperator feature gate, specify -UnidirectionalTopicOperator in the STRIMZI_FEATURE_GATES environment variable in the Cluster Operator configuration.

Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

關於紅帽

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

让开源更具包容性

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

关于红帽文档

Legal Notice

Theme

© 2026 Red Hat
返回顶部