【问题标题】:Queries on GKE AutoscalingGKE Autoscaling 查询
【发布时间】:2021-02-23 03:14:48
【问题描述】:

我在GKE 集群上同时启用了Node Auto ProvisioningAutoscaling。关于 Auto Scaling 的查询很少。

对于AutoScaling,最小节点为 1,最大节点数为 2。基于此设置的查询很少。

我使用gcloud命令将节点数设置为0

gcloud container clusters resize cluster-gke-test --node-pool pool-1  --num-nodes 0 --zone us-central1-c

现在我可以看到 Pods 不可调度的消息

 Your cluster has one or more unschedulable pods.

以下是我的查询

  1. 由于启用了autoscaling,因此应该自动生成节点以运行这些Pods。但我没有看到这种情况发生。这不是预期的行为吗?

  2. 当我们手动减少节点数量时,Auto Scaling 不起作用?

  3. Auto Scaling 仅基于负载工作。如果存在现有节点无法处理的请求,则只有它会启动新节点。节点自动缩放工作的最小节点数应始终大于零?

【问题讨论】:

  • 您使用 --num-nodes 3 将节点数设置为 0 ??对不起,我迷路了!!当您谈论自动缩放时,它是节点自动缩放,而不是 HPA(Horizo​​ntal Pod Autoscaller)。
  • 对不起..错别字。更新了它,是的,它是 Node AutoScaling

标签: google-cloud-platform google-kubernetes-engine autoscaling


【解决方案1】:
  1. 这是一个documented limitation。如果您的节点池设置为 0,则不会从 0 开始自动缩放

  2. 是的,只要您不手动缩放到 0,它就可以工作。

  3. 也是documented。节点池规模根据请求而定。如果 Pod 由于资源不足而无法调度,并且未达到最大节点,则会配置一个新节点并部署该 pod。

您可以将 0 设置为 min-nodes,但您必须在集群中至少有 1 个节点处于活动状态,位于另一个节点池中

如果您指定最少零个节点,则空闲节点池可以完全缩减。但是,集群中必须始终至少有一个节点可用以运行系统 Pod。

【讨论】:

  • 谢谢。当我们手动停止 GKE 节点时,自动缩放会起作用吗?这是针对没有负载但停止节点后节点数少于最小节点数的场景?
  • 对于上述场景,即使运行节点的数量少于自动配置应运行的节点数量,它也没有启动新节点
猜你喜欢
  • 1970-01-01
  • 2020-07-12
  • 1970-01-01
  • 2021-10-02
  • 2018-04-25
  • 1970-01-01
  • 2016-10-31
  • 2013-12-22
  • 2021-07-31
相关资源
最近更新 更多