【问题标题】:GKE doesn't downscale node to zeroGKE 不会将节点缩减为零
【发布时间】:2020-07-10 20:35:24
【问题描述】:

GKE 集群配置了集群/节点自动配置。

我创建了一个默认节点池,可以在其上运行系统特定的 pod。每当请求带有 GPU 的 Pod 时,GKE 会自动创建新的启用 GPU 的节点池,这很好。

但是,每当我删除此类 pod 时,GKE 不会将新创建的节点池缩减为零实例。相反,一个实例继续运行。如果没有请求 GPU,节点池应该达到最小大小,即零。

注意:

  • 对于 GPU 驱动程序,已在“kube-system”命名空间下创建了一个 Daemonset,此 Daemonsets 的 Pod 在每个启用 GPU 的节点上运行。

我编辑了这个 Daemonset 并添加了标签 '"cluster-autoscaler.kubernetes.io/safe-to-evict": "true" ' 到 pod。

有人可以帮助如何将新创建的节点池缩减到零节点吗?

更新:

在新节点上运行的 Pod 是:

fluentd-gcp(来自 DaemonSet)

kube 代理

nvidia-gpu-device-plugin(来自 DaemonSet)

这些豆荚不应该被驱逐吗?

【问题讨论】:

  • 剩余节点上正在运行什么?查看此问题并回答:stackoverflow.com/questions/59217515/…
  • @JohnHanley 请检查更新。我浏览了提供的链接,但是运行中的 pod 应该会自动从该节点中被逐出,对吗?如果不是,驱逐他们的好做法是什么?

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


【解决方案1】:

GKE 默认保留一个额外的节点资源用于快速调度 pod。这是由 Auto Scaling 策略控制的默认行为。

可以通过将策略设置为“优化利用”来更改此行为。

https://cloud.google.com/kubernetes-engine/docs/concepts/cluster-autoscaler

【讨论】:

    猜你喜欢
    • 2022-01-14
    • 2021-06-12
    • 2021-04-23
    • 2020-09-30
    • 2020-09-10
    • 2018-09-28
    • 1970-01-01
    • 2022-01-23
    • 2019-12-30
    相关资源
    最近更新 更多