使用自定义 N2D 机器类型进行 GKE 节点自动配置

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

我正在使用带有集群自动缩放器和节点自动配置的 GKE 1.29 集群。截至目前,我在 GKE 工作负载中使用 N2D 机器类型,并且在部署中使用 n2d-standard-4 机器类型并使用以下节点亲和性配置。

      affinity:
        nodeAffinity:
          requiredDuringSchedulingIgnoredDuringExecution:
            nodeSelectorTerms:
            - matchExpressions:
              - key: cloud.google.com/machine-family
                operator: In
                values:
                - n2d
              - key: node.kubernetes.io/instance-type
                operator: In
                values:
                - n2d-standard-4

我想使用具有 4 个 CPU 和 8 GB 内存的自定义机器类型。如何使用节点亲和力来完成此操作?我尝试按照配置进行操作,但没有成功。

      affinity:
        nodeAffinity:
          requiredDuringSchedulingIgnoredDuringExecution:
            nodeSelectorTerms:
            - matchExpressions:
              - key: cloud.google.com/machine-family
                operator: In
                values:
                - n2d
              - key: node.kubernetes.io/instance-type
                operator: In
                values:
                - n2d-custom-4-8192

上述配置根本没有创建任何节点池,并且 Pod 处于待处理状态。

我是否使用正确的方法来配置具有自定义机器类型的节点,或者是否有更好或正确的解决方案?

在 NAP 日志中,我在没有扩大规模的情况下得到了这个信息

noScaleUp: {
  unhandledPodGroups: [
    0: {
      napFailureReasons: [
        0: {
          messageId: "no.scale.up.nap.pod.zonal.failing.predicates"
          parameters: [
            0: "us-central1-a"
            1: "node(s) didn't match Pod's node affinity/selector"
          ]
        }
      ]
    }
  ]
}
google-cloud-platform google-kubernetes-engine google-compute-engine
1个回答
0
投票

检查部署/pod 的节点关联性,以确认与目标集群中节点上的标签是否一致,步骤如下:

  1. 如果准确,则创建一个具有正确标签的新节点池,因为不允许使用新标签更新现有节点池。请注意 Google Kubernetes Engine (GKE) 中的集群标签和节点池标签命名约定,以区分标签并避免此错误。imageimage

  2. 如果不准确,则更正 pod 规范中的关联规则以匹配其节点池的标签。

image

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