架构图
本篇文档主要介绍污点和容忍度的关系。
污点和容忍度
污点顾名思义就是脏的东西,给节点添加污点来限制pod调度到该节点上,如果pod可以容忍这种污点就可以被调度到有污点的节点上,如果不能容忍就不能被调度到该节点上。
污点作用于节点上,容忍度作用于pod上,两者配合起来,一起工作。
匹配场景
- pod的容忍度比污点少,不能被调度。
- pod的容忍度可以匹配node,可以被调度。
- pod的容忍度中effect类型不一样,不能被调度。
- pod的key为null,匹配所有的污点,只有effect类型匹配就可以调度。
- pod设置为万能容忍度,可以被调度到任何节点。
effect类型
- NoExecute:如果pod已经运行到该节点,添加了新的污点后不匹配,就会被驱逐,可以设置驱逐时间tolerationSeconds
- NoSchedule: 如果pod已经运行到该节点上,如果不匹配,添加新的污点后不会被驱逐;pod下次调度不会被调度到该节点。
- PreferNoSchedule: 如果pod容忍度不匹配,尽量不调度到该节点。
总结
节点污点和pod容忍度相互配合,如果想节点只能运行某个特定pod,就可以搭配污点和容忍度来使用。