GKE Autoscaling 查询

Queries on GKE Autoscaling

我在 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 仅基于负载工作。如果存在现有节点无法处理的请求,则只有它会启动新节点。节点自动缩放工作的最小节点数应始终大于零?

  1. 这是一个documented limitation。如果您的节点池设置为 0,则不会从 0

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

  3. 也是documented。节点池规模根据请求。如果 Pod 由于缺乏资源而无法调度,并且未达到最大节点,则会供应新节点并部署 Pod。

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

If you specify a minimum of zero nodes, an idle node pool can scale down completely. However, at least one node must always be available in the cluster to run system Pods.