文章目录
- 一、Taint(污点)
- `1.1概念`
- `1.2设置污点`
- 取消污点
- 二、tolerations(污点容忍)
- `2.1概念`
- `2.2示例`
- 三、Node 和 Pod 对于污点与容忍基本概念
- 参考资料
一、Taint(污点)
1.1概念
节点亲和性是 Pod 的一种属性,它使 Pod 被吸引到一类特定的节点 。 这可能出于一种偏好,也可能是硬性要求。 Taint(污点)则相反,它使节点能够排斥一类特定的 Pod。
1.2设置污点
kubectl taint nodes [Node Name] key=value:[effect]
effect可取三种值:
NoSchedule #一定不能被调度【常用】 PreferNoShedule #尽量不要调度 NoExecute #不仅不会调度,而且还会驱逐Node上所有的Pod例如:
kubectl taint node k8smaster type=dev:NoSchedule给k8smaster节点增加一个污点,它的键名是type,键值是 dev,效果是 NoSchedule。 这表示只有拥有和这个污点相匹配的容忍度的 Pod 才能够被分配到 这个节点。
取消污点
kubectl taint nodes [Node Name] key:[effect]-
二、tolerations(污点容忍)
2.1概念
允许Pod调度到持有Taints的Node上(并不是强制调度到持有Taints的Node上,如果有干净的节点,也会往其上调度)
污点容忍+nodeSelector可以实现只调度到专用节点上