K8S系列之污点和容忍度详细分析

架构图

K8S系列之污点和容忍度详细分析_第1张图片

本篇文档主要介绍污点和容忍度的关系。

污点和容忍度

污点顾名思义就是脏的东西,给节点添加污点来限制pod调度到该节点上,如果pod可以容忍这种污点就可以被调度到有污点的节点上,如果不能容忍就不能被调度到该节点上。

污点作用于节点上,容忍度作用于pod上,两者配合起来,一起工作。

匹配场景

K8S系列之污点和容忍度详细分析_第2张图片

  1. pod的容忍度比污点少,不能被调度。
  2. pod的容忍度可以匹配node,可以被调度。
  3. pod的容忍度中effect类型不一样,不能被调度。
  4. pod的key为null,匹配所有的污点,只有effect类型匹配就可以调度。
  5. pod设置为万能容忍度,可以被调度到任何节点。

effect类型

  • NoExecute:如果pod已经运行到该节点,添加了新的污点后不匹配,就会被驱逐,可以设置驱逐时间tolerationSeconds
  • NoSchedule: 如果pod已经运行到该节点上,如果不匹配,添加新的污点后不会被驱逐;pod下次调度不会被调度到该节点。
  • PreferNoSchedule: 如果pod容忍度不匹配,尽量不调度到该节点。

总结

节点污点和pod容忍度相互配合,如果想节点只能运行某个特定pod,就可以搭配污点和容忍度来使用。

你可能感兴趣的:(K8S,kubernetes,容器,云原生)