Kubernetes pod HPA在维护/升级Worker节点时不工作



我已经为所有基于CPU的pod实现了HPA,并且它像预期的那样工作。但是当我们对工作节点进行维护时,HPA似乎搞砸了,因为它没有识别它。我是否需要在维护期间暂时禁用HPA,并在维护结束后重新启动它?

请建议

HPA Manifest -

apiVersion: autoscaling/v2beta2
kind: HorizontalPodAutoscaler
metadata:
name: pod-name-cpu
spec:
maxReplicas: 6
minReplicas: 2
scaleTargetRef:
apiVersion: apps/v1
kind: Deployment
name: pod-name
metrics:
- type: Resource
resource:
name: cpu
target:
type: Utilization
averageUtilization: 60

有一个维护模式的解决方案,它说:

您可以隐式地停用目标的HPA,而无需这样做更改HPA配置本身。如果目标想要的副本count设置为0,并且HPA的最小副本计数大于0时,HPA停止调整目标(并设置ScalingActive状态为false),直到你手动重新激活它调整目标所需的副本计数或HPA的最小副本计数。

编辑:

要更详细地解释上述内容,你应该这样做:

  • 将部署扩展到0

  • 描述你的HPA

  • 请注意,在Conditions:部分下,ScalingActive将变为False,这将禁用HPA,直到您将副本设置回所需值

  • 点击这里查看更多

此外,由于您没有指定究竟发生了什么以及期望的结果是什么,您可能还会考虑将工作负载移动到不同的节点。如何在群集上执行中断操作有几个选项供您选择。

最新更新