GCP 托管实例组不会扩展到零



我有一个GCP托管实例组,我想使用cron计划扩展到0到1个实例中。GCP有一个限制:

缩放计划只能用于具有至少一种其他类型的自动缩放信号的MIG,例如基于平均CPU利用率、负载平衡服务容量或云监控指标进行缩放的信号。

所以我必须指定一个额外的自动缩放信号。文档继续建议一种变通方法:

要仅根据时间表进行扩展,您可以将CPU利用率目标设置为100%。

我做到了。但是托管组并没有扩展到0,它只是停留在1。我没有使用Scale-in controls,所以AFAICT唯一可以防止水垢的是10分钟的Stabilization period,我已经解释过了。

我的自动缩放器配置:

{
"name":"myname",
"target":"the/url",
"autoscalingPolicy":{
"minNumReplicas":0,
"maxNumReplicas":1,
"scalingSchedules":{
"out":{
"minRequiredReplicas":1,
"schedule":"0,20,40 * * * *",
"durationSec":300,
"description":"scale out"
}
},
"cpuUtilization":{
"utilizationTarget":1
}
}
}

时间表本身设置了5分钟的扩展到1个实例,然后有10分钟的稳定时间,然后应该进行扩展到0,但事实并非如此。

如果我使用相同的配置,但只更改maxNumReplicas=2minRequiredReplica=2,则自动缩放器会在预期的时间进行放大和缩小,但在1到2个实例之间。我认为这意味着日程安排本身很好。

我的理论是cpuUtilization信号阻止缩放到0。有没有一种方法可以在时间表上在0和1之间进行缩放?也许是另一个信号,而不是cpuUtilization

谢谢!

更新:

现在,必须用缩放时间表指定额外的自动缩放信号的限制已经消失,现在可以配置在0和1个实例之间交替的时间表(但请参阅下面的一般答案(。

当可以扩展到0个实例时:

  1. min_num_replicas设置为0
  2. 仅使用这些自动缩放信号:时间表或每组云监控指标(或两者兼有(

特别是,当自动缩放信号之一是CPU利用率、LB利用率或每个实例的云监控指标时,不可能缩放到0。

您允许在CPU利用率达到100%后自动缩放(自动缩放策略(。因此,性能将受到影响。因此,您可以将策略设置在60%到90%之间。

具有/不具有自动缩放功能的实例组的最小实例数(minNumReplicas(应为1,因此不可能在0时进行缩放。

对于其他信号/度量(HTTP负载平衡利用率、堆栈驱动程序监控度量(,不可能在0处进行扩展。

使用"放大"控件。如果突然出现负载峰值,它会有所帮助。

相关内容

  • 没有找到相关文章

最新更新