需要一种暂时禁用 HPA 的方法

问题描述 投票:0回答:2

我正在开发一个基于STS的应用程序,我想暂时禁用HPA而不删除它。我怎样才能实现它?

我无法删除 HPA,因为如果我删除它并再次部署服务,则 HPA 是从 STS 创建的,并且 STS 和

hpa.yaml
中的名称不同。因此,我不想删除它,并且无法根据要求使用 kubectl 使用
hpa.yaml
创建。

那么,有什么方法可以使用 kubectl 禁用并再次启用它或对

hpa.yaml
文件进行任何更改?

kubernetes kubectl hpa horizontal-pod-autoscaling
2个回答
1
投票

我删除并使用相同的名称再次创建:

kubectl autoscale statefulset <sts_name> --name=<hpa_name_deleted> --min=<min_replica> --max=<max_replica> --cpu-percent=<cpu_percent> --memory=<target_memory> -n <namespace>

我没有找到任何方法可以暂时禁用它。


0
投票

HPA 将有一个“目标”,可以是部署、有状态集或其他任何东西。如果将该目标的名称更改为不存在的名称,则该目标将被有效禁用。使用在名称中添加后缀的约定,例如“-disabled”,或任何适合您的内容。

© www.soinside.com 2019 - 2024. All rights reserved.