kubernetes - 使用水平 pod 自动缩放的 Kafka 分区重新分配
问题描述
我正在为 Kafka Broker pod 使用 Horizontal Pod Autoscaling 脚本 (HPA.yaml),该脚本根据 CPU 和内存利用率指标在代理 pod 中进行横向扩展和扩展,如下所示。但是,当添加或删除代理节点时,Kafka 在内部不处理分区重新分配。当发生扩展或扩展时,有什么方法可以做到这一点。
HPA.yaml
apiVersion: autoscaling/v2beta1
kind: HorizontalPodAutoscaler
metadata:
name: kafka-hpa
spec:
scaleTargetRef:
apiVersion: apps/v1beta1
kind: StatefulSet
name: {{ include "kafka.fullname" . }}
minReplicas: {{ .Values.replicas }}
maxReplicas: 5
metrics:
- type: Resource
resource:
name: cpu
targetAverageUtilization: 40
- type: Resource
resource:
name: memory
targetAverageValue: 8000Mi
是否有任何方法可以在发生扩展或扩展时自动重新分配分区。
解决方案
推荐阅读
- java - 监视数据库更改的最佳方法
- reactjs - React-Mobx 2020. 注入钩子和 useObserver
- docker - 有没有一种简单的方法来测试是否需要“docker build”?
- c++ - 如何使用 boost 获取当前文件路径?
- docker - Docker unable to login to Nexus docker registry (hosted)
- javascript - 如何在不使用 Refs 的情况下从父级调用子级的方法?
- c# - Kustomer API,如何在对话中添加附件
- python - 为什么 numpy.array() 使用比 python 列表更多的 RAM?
- windows - 如何使用 QT 和 CMake 在调试模式下启用控制台窗口并在发布模式下禁用?
- python - 当多个属性是AWS lambda python环境中的字符串变量时,如何插入dynamodb表?