【发布时间】:2018-12-04 17:58:35
【问题描述】:
我在 GCP 中有一个 Kubernetes 集群,运行多个节点池并启用了自动扩展。 似乎自动缩放器过度缩放... 附上节点列表及其使用情况(我使用的是32CPU机器类型)。
无法理解为什么自动缩放器不合并其中一些机器,因为使用量远低于容量,并且在多台机器上运行的 pod 可以轻松合并为一个。
我没有使用任何特殊的污点/亲和力,所以我不明白为什么会发生这种过度缩放。阅读节点自动缩放器文档也不能解释这种行为。
列:状态、请求的 CPU、总 CPU、请求的 RAM、总 RAM
【问题讨论】:
-
某些类型的 POD 可以阻止集群自动缩放器删除节点。检查 this link 以查看您的 POD 是否满足这些特殊标准。
-
这些条件都不符合。在我看来,快速变化的 pod 扩展存在问题。升级时,kubernetes 会在整个集群中调度新的 pod,从而导致节点保持正常运行。也许是一种在负载最多的节点上优先考虑新 pod(来自 HPA)的方法?
-
在这个link 中讨论了集群自动缩放器不缩小 pod 的一些原因。根据我们的经验,一些常见的原因是具有限制性 PodDisruptionBudget 的 Pod 和运行在节点上的 Kube 系统 pod 会阻止自动扩缩器删除节点。如果您需要进一步的帮助,您可以向kuberentes community 提交新问题并在其中发布您的节点的具体描述。
-
我没有使用 PodDisruptionBudget 以及在 kube-system 和 GKE 中运行的唯一 pod。我没有使用这个ns。有没有办法在GKE下查看cluster-autoscaler的日志(没有system pod负责扩容)?
标签: kubernetes google-compute-engine google-kubernetes-engine