https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/文档对于值的确切含义还不清楚。
系统将尝试避免放置不能容忍 污染节点,但这不是必需的
“尝试”意味着什么?如果我说一个函数会尝试对数字列表进行排序-不太清楚...
答案 0 :(得分:0)
根据您的问题-我了解它与PreferNoSchedule有关-这意味着它不是严格的要求,换句话说,如果已经在该节点上调度了容器并且具有这种容忍效果,则不会被删除。
如果您仍然感到困惑,我建议您深入研究design proposals文档,他们为我澄清了很多概念。
答案 1 :(得分:0)
尽管有一些细微的差别,但我更喜欢Google解释什么是 Node Taints ,而不是Kubernetes:
节点异味可让您标记节点,以便调度程序避免或禁止将其用于某些Pod。补充功能(容差)使您可以指定可在“污染”节点上使用的Pod。
节点污点是与效果关联的键值对。以下是可用的效果:
NoSchedule
:在节点上未安排不容许这种异味的豆荚。
PreferNoSchedule
:Kubernetes避免将不容忍此异味的Pod调度到节点上。基本上,这就是说,如果可能的话。
NoExecute
:如果Pod已在节点上运行,则将其从节点上逐出;如果尚未在节点上运行,则不会将Pod调度到该节点上。
请注意,NoSchedule
和NoExecute
之间的区别在于,对于第一个Pod,它不会调度Pod,但是如果该Pod已经在运行,它将不会杀死它。对于最后一个,它将杀死Pod并将其重新安排在另一个节点上。