gpt4 book ai didi

kubernetes - GKE Kubernetes Autoscaler - 最大集群 cpu,达到内存限制

转载 作者:行者123 更新时间:2023-12-02 11:29:19 43 4
gpt4 key购买 nike

GKE Autoscaler 不会在 15 个节点之后扩展节点(以前的限制)

我已将 Cluster 中的 MinMax 值更改为 17-25

enter image description here
然而,节点数停留在 14-15 并且没有增加,现在我的集群已满,没有更多的 pod 可以容纳,所以每个新部署都应该触发节点扩展并将自己安排到新节点上,这不是发生。

当我创建部署时,它卡在 Pending 状态并显示一条消息:

pod didn't trigger scale-up (it wouldn't fit if a new node is added): 1 max cluster cpu, memory limit reached

最大集群 cpu,达到内存限制听起来最大节点数仍然是 14-15,这怎么可能?为什么它不会触发节点扩展?

ClusterAutoscaler 状态:
apiVersion: v1
data:
status: |+
Cluster-autoscaler status at 2020-03-10 10:35:39.899329642 +0000 UTC:
Cluster-wide:
Health: Healthy (ready=14 unready=0 notStarted=0 longNotStarted=0 registered=14 longUnregistered=0)
LastProbeTime: 2020-03-10 10:35:39.608193389 +0000 UTC m=+6920.650397445
LastTransitionTime: 2020-03-10 09:49:11.965623459 +0000 UTC m=+4133.007827509
ScaleUp: NoActivity (ready=14 registered=14)
LastProbeTime: 2020-03-10 10:35:39.608193389 +0000 UTC m=+6920.650397445
LastTransitionTime: 2020-03-10 08:40:47.775200087 +0000 UTC m=+28.817404126
ScaleDown: NoCandidates (candidates=0)
LastProbeTime: 2020-03-10 10:35:39.608193389 +0000 UTC m=+6920.650397445
LastTransitionTime: 2020-03-10 09:49:49.580623718 +0000 UTC m=+4170.622827779

NodeGroups:
Name: https://content.googleapis.com/compute/v1/projects/project/zones/europe-west4-b/instanceGroups/adjust-scope-bff43e09-grp
Health: Healthy (ready=14 unready=0 notStarted=0 longNotStarted=0 registered=14 longUnregistered=0 cloudProviderTarget=14 (minSize=17, maxSize=25))
LastProbeTime: 2020-03-10 10:35:39.608193389 +0000 UTC m=+6920.650397445
LastTransitionTime: 2020-03-10 09:46:19.45614781 +0000 UTC m=+3960.498351857
ScaleUp: NoActivity (ready=14 cloudProviderTarget=14)
LastProbeTime: 2020-03-10 10:35:39.608193389 +0000 UTC m=+6920.650397445
LastTransitionTime: 2020-03-10 09:46:19.45614781 +0000 UTC m=+3960.498351857
ScaleDown: NoCandidates (candidates=0)
LastProbeTime: 2020-03-10 10:35:39.608193389 +0000 UTC m=+6920.650397445
LastTransitionTime: 2020-03-10 09:49:49.580623718 +0000 UTC m=+4170.622827779

部署非常小! (200m CPU,256Mi mem)所以如果添加新节点肯定会适合。

看起来像 nodepool/autoscaler 中的一个错误,因为 15 是我以前的节点数限制,不知何故,它看起来仍然是 15 是最高的。

编辑:
具有更大机器的新节点池,GKE 中的自动缩放已打开,一段时间后仍然存在相同的问题,即使节点具有免费资源。
来自节点的顶部:
NAME                                                  CPU(cores)   CPU%   MEMORY(bytes)   MEMORY%   
gke-infrastructure-n-autoscaled-node--0816b9c6-fm5v 805m 41% 4966Mi 88%
gke-infrastructure-n-autoscaled-node--0816b9c6-h98f 407m 21% 2746Mi 48%
gke-infrastructure-n-autoscaled-node--0816b9c6-hr0l 721m 37% 3832Mi 67%
gke-infrastructure-n-autoscaled-node--0816b9c6-prfw 1020m 52% 5102Mi 90%
gke-infrastructure-n-autoscaled-node--0816b9c6-s94x 946m 49% 3637Mi 64%
gke-infrastructure-n-autoscaled-node--0816b9c6-sz5l 2000m 103% 5738Mi 101%
gke-infrastructure-n-autoscaled-node--0816b9c6-z6dv 664m 34% 4271Mi 75%
gke-infrastructure-n-autoscaled-node--0816b9c6-zvbr 970m 50% 3061Mi 54%

然而仍然是消息 1 max cluster cpu, memory limit reached 。更新部署时仍然会发生这种情况,新版本有时会卡在 Pending 中,因为它不会触发扩展。

EDIT2:
在使用 cloud 命令描述集群时,我发现了这一点:
autoscaling:
autoprovisioningNodePoolDefaults:
oauthScopes:
- https://www.googleapis.com/auth/logging.write
- https://www.googleapis.com/auth/monitoring
serviceAccount: default
enableNodeAutoprovisioning: true
resourceLimits:
- maximum: '5'
minimum: '1'
resourceType: cpu
- maximum: '5'
minimum: '1'
resourceType: memory

这如何在启用自动缩放的情况下工作?如果达到这些,它不会触发放大? (总和已经超过了)

最佳答案

我遇到了同样的问题,正用头撞墙试图弄清楚发生了什么。连支持也搞不清楚。
问题是,如果您在集群级别启用节点自动配置,您正在设置整个集群允许的实际最小/最大 cpu 和内存。乍一看,用户界面似乎在建议每个自动配置的节点所需的最小/最大 cpu 和内存 - 但这是不正确的。因此,例如,如果您想要最多 100 个节点,每个节点有 8 个 CPU,那么您的最大 CPU 应该是 800。我知道集群的最大值显然很有用,因此事情不会失控,但它的方式是呈现的不直观。由于您实际上无法控制为您的机器类型选择什么,您不认为不让 kubernetes 为 1 核任务选择 100 核机器会很有用吗?这就是我在配置它时认为它在问什么。
节点自动配置很有用,因为如果由于某种原因您在自己的节点池上进行了自动配置,有时由于配额问题无法满足您的需求,那么集群级别的节点自动配置器会找出不同的节点池它可以配置以满足您的需求的机器类型。在我的场景中,我使用的是 C2 CPU,并且该地区缺少这些 CPU,因此我的节点池停止了自动缩放。
更令人困惑的是,大多数人从指定他们的节点池机器类型开始,因此他们已经习惯于在每个节点的基础上自定义这些限制。但是随后某些事情停止工作,例如您不知道的配额问题,因此您绝望并在集群级别配置节点自动配置程序,但随后完全搞砸了,因为您认为您正在为新的潜在机器类型指定限制。
希望这有助于澄清一些事情。

关于kubernetes - GKE Kubernetes Autoscaler - 最大集群 cpu,达到内存限制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60615873/

43 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com