K8S taint(污点)和tolerations(污点容忍)

网友投稿 314 2022-09-24

K8S taint(污点)和tolerations(污点容忍)

文章目录

​​一、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可以实现只调度到专用节点上

一个容忍度和一个污点相“匹配”是指它们有一样的键名和效果,并且:

如果 operator 是 Exists (此时容忍度不能指定 value)如果 operator 是 Equal ,则它们的 value 应该相等

​​2.2示例​​

tolerations:- key: "type" operator: "Exists" effect: "NoSchedule"

或者

tolerations:- key: "type" operator: "Equal" value: "dev" effect: "NoExecute" tolerationSeconds: 3600

表示该Pod可以调度到key等于type,且动作为NoSchedule的节点上。

​​tolerationSeconds: 3600​​表示如果这个 Pod 已经在这个带污点且 effect 为 NoExecute 的 node 上。这个 pod 可以一直运行到 3600s 后再被踢掉。如果这时候 Node 的污点被移除了,这个 Pod 就不会被踢掉。

三、Node 和 Pod 对于污点与容忍基本概念

一个 node 可以有多个污点;一个 pod 可以有多个容忍;kubernetes 执行多个污点和容忍方法类似于过滤器

如果一个 node 有多个污点,且 pod 上也有多个容忍,只要 pod 中容忍能包含 node 上设置的全部污点,就可以将 pod 调度到该 node 上。

如果 pod 上设置的容忍不能够包含 node 上设置的全部污点,且 node 上剩下不能被包含的污点 effect 为 PreferNoSchedule,那么也可能会被调度到该节点。

注意:

当 pod 总存在 容忍,首先 pod 会选择没有污点的节点,然后再次选择容忍污点的节点。如果 node 上带有污点 effect 为 NoSchedule,而 pod 上不带响应的容忍,kubernetes 就不会调度 pod 到这台 node 上。如果 Node 上带有污点 effect 为 PreferNoShedule,这时候 Kubernetes 会努力不要调度这个 Pod 到这个 Node 上。如果 Node 上带有污点 effect 为 NoExecute,这个已经在 Node 上运行的 Pod 会从 Node 上驱逐掉。没有运行在 Node 的 Pod 不能被调度到这个 Node 上。一般使用与当某个节点处于 NotReady 状态下,pod 迅速在其他正常节点启动。

参考资料

参考视频:Kubernetes 污点和容忍,真的很简单!​​

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:ubuntu源码编译logrotate
下一篇:抖音内幕:起名时曾找“大师”算过 算法令人难以捉摸!
相关文章

 发表评论

暂时没有评论,来抢沙发吧~