You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在GKE中给节点打标签并自动实现Pod按命名空间调度到指定节点

实现步骤

1. 拆分GKE节点池(核心解决节点更新自动继承配置问题)

把原有3节点的单节点池拆分为两个独立节点池即可,GKE节点池的所有节点会自动继承节点池配置的标签、污点,节点升级、自动修复、扩缩容产生的新节点都会自动带上配置,完全不需要手动干预:

  • 非生产节点池:配置节点数量为1,添加如下配置
    • 节点标签:node-env: non-prod
    • 节点污点:node-env=non-prod:NoSchedule(作用:禁止未容忍该污点的Pod调度到该节点,避免生产负载跑到非生产节点抢占资源)
  • 生产节点池:配置节点数量为2(后续可按需扩容),添加如下配置
    • 节点标签:node-env: prod
    • 可选配置污点:node-env=prod:NoSchedule(如果希望严格禁止非生产Pod调度到生产节点,就加这个污点,否则可以不加,生产节点允许空闲时被其他负载使用)

注意:拆分节点池时可先完成新节点池创建,再逐步驱逐旧节点池的Pod,不会影响现有业务运行。

2. 配置命名空间默认调度规则

给对应命名空间配置默认的Pod调度亲和性和容忍度,推荐用GKE支持的PodDefault资源,给每个命名空间下的Pod自动注入调度配置,不需要修改业务的YAML文件:

给dev/qa/stage命名空间注入配置

给这三个命名空间分别创建如下PodDefault,自动给所有Pod添加容忍度和节点亲和性,优先调度到非生产节点:

apiVersion: kubeflow.org/v1alpha1
kind: PodDefault
metadata:
  name: non-prod-scheduling
  namespace: dev # 同理给qa、stage命名空间各创建一份
spec:
  selector:
    matchLabels: {} # 匹配该命名空间下所有Pod
  tolerations:
  - key: "node-env"
    operator: "Equal"
    value: "non-prod"
    effect: "NoSchedule"
  affinity:
    nodeAffinity:
      preferredDuringSchedulingIgnoredDuringExecution:
      - weight: 100
        preference:
          matchExpressions:
          - key: node-env
            operator: In
            values: ["non-prod"]

给prod命名空间注入配置

给prod命名空间创建如下PodDefault,优先调度到生产节点,同时允许使用其他空闲节点:

apiVersion: kubeflow.org/v1alpha1
kind: PodDefault
metadata:
  name: prod-scheduling
  namespace: prod
spec:
  selector:
    matchLabels: {}
  # 如果生产节点加了污点,这里要取消注释添加对应容忍度
  # tolerations:
  # - key: "node-env"
  #   operator: "Equal"
  #   value: "prod"
  #   effect: "NoSchedule"
  affinity:
    nodeAffinity:
      preferredDuringSchedulingIgnoredDuringExecution:
      - weight: 100
        preference:
          matchExpressions:
          - key: node-env
            operator: In
            values: ["prod"]

可选:严格隔离场景配置

如果要完全禁止非生产Pod跑到生产节点,只要给生产节点池加上node-env=prod:NoSchedule的污点,并且只给prod命名空间的Pod加对应容忍度即可,完全实现资源隔离,非生产负载无论如何都不会占用生产节点资源。

内容的提问来源于stack exchange,提问作者JorgeeFG

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 16:36:03