4.2. 用于集群重新平衡的精简控制

注意

固态控制仍为技术预览,但有一些新的 增强功能

您可以部署 Cruise Control,并使用它来在 CPU、磁盘、网络负载 等上使用优化 的 goals(pipeline)定义的限制来重新平衡 Kafka 集群。在均衡 Kafka 集群中,工作负载更加均匀地分布在代理 pod 中。

作为 Kafka 资源的一部分,Tithise Control 被配置和部署。您可以使用默认优化目标,或对其进行修改以符合您的要求。Cruise Control 的 YAML 配置文件示例在 example /cruise-control/ 中提供

部署 Cruise Control 后,您可以创建 KafkaRebalance 自定义资源来:

  • 从多个优化目标生成优化效果
  • 基于优化建议重新平衡 Kafka 集群

目前不支持其他 Cruise 控制功能,包括异常检测、通知、写入目标以及更改主题复制因素。

请参阅 用于集群重新平衡的 Cruise Control

4.2.1. 技术预览的改进

刷新优化建议

现在,您可以重复使用状态为 Ready 的现有 KafkaRebalance 资源,这表示集群重新平衡成功完成。您可以重复使用 KafkaRebalance 资源中定义的优化目标,或更改目标。

刷新优化建议:

  1. 检查 KafkaRebalance 资源的状态:

    oc describe kafkarebalance REBALANCE-NAME
  2. 应用 strimzi.io/rebalance=refresh 注解:

    oc annotate kafkarebalance REBALANCE-NAME strimzi.io/rebalance=refresh

cruise Control 会刷新优化建议来反映 Kafka 集群的最新状态。

请参阅 Ap 验证的一个优化建议

查看优化时的代理负载

优化现在包括在概述状态之外,由 代理负载 组成。代理负载在 ConfigMap 中返回,显示每个 Kafka 代理负载的指标,包括 CPU 使用率、磁盘用量、网络输出率等。指标分为三个类别:

之前
应用优化建议前的当前值
应用优化建议后的预期值
差别
后值和之前值之间的区别

代理负载 ConfigMap 的名称与 KafkaRebalance 资源相同。指标编码为 JSON 字符串。若要以人类可读的格式查看它们,请使用 jq 或 similiar JSON 解析器。例如:

oc get configmap MY-REBALANCE -o json | jq '.["data"]["brokerLoad.json"]|fromjson|.'

请参阅 优化概述