Skip to content

Support deploying Kafka with KRaft instead of ZooKeeper for consensus building #690

@soenkeliebau

Description

@soenkeliebau

In later versions Kafka supports running without ZooKeeper and provides its own KRaft consensus algorithm.

We should look into enabling the operator to deploy Kafka in this mode.

Refinement

  • Make zookeeperConfigMapName optional and deprecate. Not required anymore once only 4.x is supported.
pub struct KafkaClusterConfig {
    [...]
    #[deprecated(since="...")]
    pub zookeeper_config_map_name: Option<String>,
}
  • Add Controller Role (optional as broker)
  • Sanity checks for kraft & zk relevant fields
  • Provision log dirs with meta.properties
  • New set of integration tests
  • Documentation

Out of scope

Migration guide: https://docs.confluent.io/platform/current/installation/migrate-zk-kraft.html

  • test manually with 3.9.0 and decide later if automation is feasible (or document manual steps)
  • automated migration is out of scope
  • Users need to migrate to KRaft (with 3.9.0) before upgrading to 4.0.0.

Metadata

Metadata

Assignees

Type

No type

Projects

Status

Development: In Review

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions