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

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions