---
title: Kubernetes Taints 与 Tolerations(节点调度与验证)
date: 2025-11-26
keywords:
- Taints
- Tolerations
- NoSchedule
- PreferNoSchedule
- NoExecute
description: 使用节点污点与Pod容忍控制工作负载调度与隔离,在混合节点与隔离场景中提升可靠性,提供配置与验证方法。
categories:
- 文章资讯
- 技术教程
---
概述
污点为节点设置排斥属性,容忍允许特定Pod在被污点的节点上调度或继续运行。可用于隔离关键任务节点、专用GPU节点或下线节点。
关键实践与参数
- 污点效果:
NoSchedulePreferNoScheduleNoExecute - 容忍格式:
keyoperatorvalueeffecttolerationSeconds - 场景: 专用节点、下线排空、混合集群隔离
- 组合: 与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 - 避免过度依赖容忍导致资源不均衡
- 与资源配额与优先级联动
- 定期复盘节点角色与策略

发表评论 取消回复