---

title: Kubernetes Taints 与 Tolerations(节点调度与验证)

date: 2025-11-26

keywords:

  • Taints
  • Tolerations
  • NoSchedule
  • PreferNoSchedule
  • NoExecute

description: 使用节点污点与Pod容忍控制工作负载调度与隔离,在混合节点与隔离场景中提升可靠性,提供配置与验证方法。

categories:

  • 文章资讯
  • 技术教程

---

概述

污点为节点设置排斥属性,容忍允许特定Pod在被污点的节点上调度或继续运行。可用于隔离关键任务节点、专用GPU节点或下线节点。

关键实践与参数

  • 污点效果: NoSchedule PreferNoSchedule NoExecute
  • 容忍格式: key operator value effect tolerationSeconds
  • 场景: 专用节点、下线排空、混合集群隔离
  • 组合: 与Affinity/Anti-Affinity协同

示例/配置/实现

kubectl taint nodes node1 dedicated=true:NoSchedule
apiVersion: apps/v1
kind: Deployment
metadata: { name: api }
spec:
  replicas: 3
  selector: { matchLabels: { app: api } }
  template:
    metadata: { labels: { app: api } }
    spec:
      tolerations:
        - key: "dedicated"
          operator: "Equal"
          value: "true"
          effect: "NoSchedule"

验证

  • 调度控制: 未容忍的Pod不在污点节点调度, 容忍的Pod可调度
  • 迁移行为: NoExecute 下未容忍Pod被驱逐
  • 稳定性: 隔离后关键服务稳定, 非关键任务被限制
  • 观测: 记录调度与驱逐事件

注意事项

  • 慎重使用 NoExecute, 需结合PDB
  • 避免过度依赖容忍导致资源不均衡
  • 与资源配额与优先级联动
  • 定期复盘节点角色与策略

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论
立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部