4.2. 用于集群重新平衡的精简控制
固态控制仍为技术预览,但有一些新的 增强功能。
您可以部署 Cruise Control,并使用它来在 CPU、磁盘、网络负载 等上使用优化 的 goals(pipeline)定义的限制来重新平衡 Kafka 集群。在均衡 Kafka 集群中,工作负载更加均匀地分布在代理 pod 中。
作为 Kafka
资源的一部分,Tithise Control 被配置和部署。您可以使用默认优化目标,或对其进行修改以符合您的要求。Cruise Control 的 YAML 配置文件示例在 example /cruise-control/ 中提供
。
部署 Cruise Control 后,您可以创建 KafkaRebalance
自定义资源来:
- 从多个优化目标生成优化效果
- 基于优化建议重新平衡 Kafka 集群
目前不支持其他 Cruise 控制功能,包括异常检测、通知、写入目标以及更改主题复制因素。
4.2.1. 技术预览的改进
刷新优化建议
现在,您可以重复使用状态为 Ready
的现有 KafkaRebalance
资源,这表示集群重新平衡成功完成。您可以重复使用 KafkaRebalance
资源中定义的优化目标,或更改目标。
刷新优化建议:
检查
KafkaRebalance
资源的状态:oc describe kafkarebalance REBALANCE-NAME
应用
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|.'
请参阅 优化概述