GKE Autoprovisioning 未在资源限制内为大型实例创建节点池

问题描述 投票:0回答:2

我有一个启用了自动配置的 GKE 集群,集群的 cpu 限制为 250,内存为 1000GB。但是,创建请求 46 个 vCPU 和 200GB 内存的 pod 会导致自动缩放程序出现错误

no.scale.up.nap.pod.zonal.resources.exceeded

起初我认为这可能是配额问题,但我能够使用

n2-highmem-64
机器类型和按预期安排的工作负载手动启动节点池。

除了 GKE 系统工作负载之外,集群中没有其他工作负载,目前拥有 2 个 CPU 和 4GB 内存,这应该为其提供足够的空间来扩展以处理工作负载。

kubernetes google-cloud-platform google-kubernetes-engine
2个回答
0
投票

我能够通过为工作负载定义节点亲和性以使用 n2 系列来解决此问题:

nodeAffinity:
  requiredDuringSchedulingIgnoredDuringExecution:
    nodeSelectorTerms:
      - matchExpressions:
        - key: cloud.google.com/machine-family
          operator: In
          values:
            - n2

不知道为什么需要这样做,因为文档建议在自动配置中考虑 N2 机器


0
投票

文档指出默认情况下不考虑 N2 机器类型

默认情况下,GKE 使用 E2 机器系列,除非满足以下任何条件:

  • 工作负载请求的功能在 E2 机器系列中不可用。例如,如果工作负载请求 GPU,则新节点池将使用 N1 机器系列。
  • 工作负载请求 TPU 资源
  • 工作负载使用机器系列标签。

关于节点自动配置

© www.soinside.com 2019 - 2024. All rights reserved.