:_mod-docs-content-type: ASSEMBLY

// This assembly is included in the following assemblies:
//
// configuring/configuring.adoc

[id='cruise-control-concepts-{context}']
= Using Cruise Control for cluster rebalancing

[role="_abstract"]
Cruise Control is an open-source application designed to run alongside Kafka to help optimize the use of cluster resources by doing the following:

* Monitoring cluster workload
* Rebalancing partitions based on predefined constraints

Cruise Control operations help maintain a more balanced Kafka cluster by using brokers more efficiently.

As Kafka clusters evolve, some brokers may become overloaded while others remain underutilized.
Cruise Control addresses this imbalance by modeling resource utilization at the replica level, including CPU, disk, and network load, and by generating optimization proposals to assess the impact of rebalancing based on configurable optimization goals.

Optimization proposals are configured and generated using a `KafkaRebalance` resource.
You can configure the resource to require manual approval or to automatically trigger a cluster rebalance.

NOTE: Strimzi provides xref:config-examples-{context}[example configuration files for Cruise Control].

//overview and concepts
include::../../modules/cruise-control/con-cruise-control-overview.adoc[leveloffset=+1]
include::../../modules/cruise-control/con-rebalance-performance.adoc[leveloffset=+2]

include::../../modules/cruise-control/proc-configuring-deploying-cruise-control.adoc[leveloffset=+1]

include::../../modules/cruise-control/proc-generating-optimization-proposals.adoc[leveloffset=+1]

include::../../modules/cruise-control/proc-approving-optimization-proposal.adoc[leveloffset=+1]

include::../../modules/cruise-control/proc-tracking-cluster-rebalance.adoc[leveloffset=+1]

include::../../modules/cruise-control/proc-stopping-cluster-rebalance.adoc[leveloffset=+1]

include::../../modules/cruise-control/proc-fixing-problems-with-kafkarebalance.adoc[leveloffset=+1]
