从零开始入门 K8s | Kubernetes 调度和资源管理(23)

  • key 就是配置的键值

  • value 就是内容

  • effect 是标记了这个 taints 行为是什么

  • 目前 Kubernetes 里面有三个 taints 行为:

    1. NoSchedule 禁止新的 Pod 调度上来;

    2. PreferNoSchedul 尽量不调度到这台;

    3. NoExecute 会 evict 没有对应 toleration 的 Pods , 并且也不会调度新的上来 。 这个策略是非常严格的 , 大家在使用的时候要小心一点 。

    如上图绿色部分 , 给这个 demo-node 打了 k1=v1 , 并且 effect 等于 NoSchedule 之后 。 它的效果是:新建的 Pod  没有专门容忍这个 taint , 那就没法调度到这个节点上去了 。

    假如有些 Pod 是可以调度到这个节点上的 , 应该怎么来做呢?这时可以在 Pod 上打一个 Pod Tolerations 。 从上图中蓝色部分可以看到:在 Pod 的 spec 中填写一个 Tolerations , 它里面也包含了 key、value、effect , 这三个值和 taint 的值是完全对应的 , taint 里面的 key , value , effect 是什么内容 , Tolerations 里面也要填写相同的内容 。

    推荐阅读