首页 > 解决方案 > 使用水平 pod 自动缩放的 Kafka 分区重新分配

问题描述

我正在为 Kafka Broker pod 使用 Horizo​​ntal 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

是否有任何方法可以在发生扩展或扩展时自动重新分配分区。

标签: kubernetesapache-kafkakubernetes-helm

解决方案


推荐阅读