在 Kubernetes 中,Taints(污点) 和 Tolerations(容忍度) 是一对协同工作的机制,用于控制 Pod(容器组) 如何被调度到 Node(节点) 上。 用一句话概括:Taints 是 Node 拒绝 Pod 的属性,而 Tolerations 是 Pod以此能够进入该 Node 的“通行证”。 以下是详细的通俗解释和技术细节: --- 1. 核心概念与比喻 为了方便理解,我们可以打个比方: Taint (污点) -> “生化禁区”标识 这是打在 Node(节点) 上的。 这就好比在一个房间门口贴了张条子:“这里有毒气,严禁入内”。默认情况下,没有任何人(Pod)愿意进去。 Toleration (容忍度) -> “防毒面具” 这是定义在 Pod 上的。 如果一个 Pod 佩戴了对应的“防毒面具”(配置了 Toleration),它就可以无视那个警告,进入那个房间。 关键点: 它们的主要作用是 “排斥”。Taint 使得 Node 排斥没有对应 Toleration 的 Pod。 --- 2. Taint (污点) - Node 端 当你在一个节点上设置了...