十五、kubernetes 1.29 之 容忍、污点、固定节点
一、污点
1、概念
污点(Taint) 和 容忍(toleration) 相互配合,可以用来避免 Pod(pod) 被分配到不合适的节点上。每个节点上都可以应用一个或多个 污点(tain),这表示对于那些不能容忍这些 污点(tain) 的 Pod(pod),是不会被该节点接受的。如果将 容忍(toleration) 应用于 Pod(pod) 上,则表示这些 Pod(pod) 可以(但不要求)被调度到具有匹配 污点(tain) 的节点上。
2、组成
基本格式
key=value:effect
污点构成
每个污点(Taint)包含以下组成部分:
key:污点的键(标识)
value:污点的值(可以为空)
effect:污点的作用效果
污点效应(Taint Effect)选项
➤ NoSchedule(禁止调度)
含义:Kubernetes 不会将 Pod 调度到具有该污点的节点(Node)上
效果:完全阻止 Pod 被调度到该节点
➤ PreferNoSchedule(尽量避免调度)
含义:Kubernetes 将尽量避免将 Pod 调度到具有该污点的节点上
效果:软性限制,在无其他合适节点时仍可能调度到此节点
➤ NoExecute(驱离)
含义:Kubernetes 不仅不会调度新 Pod 到该节点,还会驱逐节点上已存在的 Pod
效果:最严格的限制,会清理节点上不符合污点要求的现有 Pod
应用场景
污点机制主要用于:
节点维护时避免新 P