我正在使用 Kubernetes 中的 Horizontal Pod Autoscaler。一旦平均 CPU 利用率超过 35%,我已将 HPA 设置为启动新实例。然而,这似乎没有按预期工作。即使 CPU 利用率远低于定义的目标利用率,HPA 也会触发重新调整。如下所示,“当前”利用率为 10%,与 35% 相差甚远。但是,它仍然将 pod 的数量从 5 个重新调整为 6 个。
我还检查了我的 Google Cloud Platform 仪表板(我们托管应用程序的地方)中的指标。这也表明请求的 CPU 利用率没有超过 35% 的阈值。但是,仍然发生了几次重新调整。
我的 HPA 的内容
apiVersion: autoscaling/v1
kind: HorizontalPodAutoscaler
metadata:
name: django
spec:
{{ if eq .Values.env "prod" }}
minReplicas: 5
maxReplicas: 35
{{ else if eq .Values.env "staging" }}
minReplicas: 1
maxReplicas: 3
{{ end }}
scaleTargetRef:
apiVersion: apps/v1
kind: Deployment
name: django-app
targetCPUUtilizationPercentage: 35
有谁知道这可能是什么原因?