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

Kubernetes“白名单”节点池实现及专属部署调度需求咨询

Kubernetes“白名单”节点池实现及专属部署调度需求咨询

当然可以实现这种专属节点池的需求!不用挨个修改现有部署,咱们可以通过**污点(Taints)+ 容忍度(Tolerations)+ 节点亲和性(Node Affinity)**的组合来搞定,具体操作步骤如下:

  • 第一步:给目标节点池的所有节点打上污点
    给节点池里的节点添加专属污点,这样没有对应容忍配置的Pod会被直接拒绝调度到这些节点上。如果是单个节点操作,执行命令:

    kubectl taint nodes <你的节点名称> dedicated=my-special-deployment:NoSchedule
    

    要是需要给整个节点池批量打污点,可以结合节点标签操作:

    kubectl taint nodes -l <节点池标签键>=<节点池标签值> dedicated=my-special-deployment:NoSchedule
    

    这里的dedicated=my-special-deployment是自定义的污点键值对,:NoSchedule是污点效果,代表无对应容忍度的Pod绝对不能调度到该节点。

  • 第二步:给你的专属部署添加容忍度+节点亲和性
    打开你想要绑定到这个节点池的Deployment配置文件,在spec.template.spec下补充以下配置:

    tolerations:
    - key: "dedicated"
      operator: "Equal"
      value: "my-special-deployment"
      effect: "NoSchedule"
    affinity:
      nodeAffinity:
        requiredDuringSchedulingIgnoredDuringExecution:
          nodeSelectorTerms:
          - matchExpressions:
            - key: <节点池标签键>
              operator: In
              values:
              - <节点池标签值>
    

    容忍度的作用是让你的Pod能“绕过”节点上的污点限制,而节点亲和性则是强制你的Pod只能调度到这个节点池的节点上,避免它占用其他节点资源。

这样配置完成后,现有所有没加对应容忍度的部署,都没法调度到这个带污点的节点池;而你的目标部署因为有容忍度+亲和性的双重配置,会稳稳运行在这个专属节点池里,完全不用修改其他任何部署的配置,正好匹配你的需求!

备注:内容来源于stack exchange,提问作者Leonardo

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.17 09:39:32