Chapter 3. Technology Previews
Technology Preview features are not supported with Red Hat production service-level agreements (SLAs) and might not be functionally complete; therefore, Red Hat does not recommend implementing any Technology Preview features in production environments. This Technology Preview feature provides early access to upcoming product innovations, enabling you to test functionality and provide feedback during the development process. For more information about support scope, see Technology Preview Features Support Scope.
3.1. Cruise Control for cluster rebalancing
Cruise Control remains in Technology Preview, with some new enhancements.
You can deploy Cruise Control and use it to rebalance your Kafka cluster using optimization goals — defined constraints on CPU, disk, network load, and more. In a balanced Kafka cluster, the workload is more evenly distributed across the broker pods.
Cruise Control is configured and deployed as part of a
Kafka resource. You can use the default optimization goals or modify them to suit your requirements. Example YAML configuration files for Cruise Control are provided in
When Cruise Control is deployed, you can create
KafkaRebalance custom resources to:
- Generate optimization proposals from multiple optimization goals
- Rebalance a Kafka cluster based on an optimization proposal
Other Cruise Control features are not currently supported, including anomaly detection, notifications, write-your-own goals, and changing the topic replication factor.
3.1.1. Enhancements to the Technology Preview
The following enhancements have been added to the Technology Preview of Cruise Control for cluster rebalancing.
New goal: Minimum topic leaders per broker
You can use a new goal named
For each topic in a defined group of topics, the goal ensures that each active broker has at least a certain number of leader replicas.
MinTopicLeadersPerBrokerGoal is a default goal and is preset as a hard goal.
Logging enhancements: Dynamic logging configuration and Log4j 2
Cruise Control now supports dynamic logging configuration. This means that changing the logging level for Cruise Control no longer triggers a rolling update to the Kafka cluster or the Cruise Control pod.
Log4j 2 is now used for Cruise Control logging.
You must update existing configurations for Cruise Control logging from
Log4j 2 compatible syntax. Logging is configured in the
Kafka custom resource.
For inline logging, replace the
cruisecontrol.root.loggerproperty with the
For external logging, replace the existing configuration with a new configuration file named
log4j2.properties. The configuration must use
Log4j 2compatible syntax.