Kubernetes 污染模型比节点选择器有什么好处

Kubernetes 污染模型比节点选择器有什么好处,kubernetes,Kubernetes,我正在学习Kubernetes,并且面临一个概念性的问题,新的污染模型比简单的节点选择器有什么好处 文档讨论了一个用例,其中一组开发人员可能拥有一组POD的专有权,比如dedicated=groupA:NoSchedule。但是我认为我们可以通过一个简单的节点选择器来做同样的事情 更具体地说,这种污染的影响作用是什么。为什么不像Kubernetes的其余部分那样简单地使用标签呢。节点选择器影响单个pod模板,要求调度程序将其放置在一组节点上。NoSchedule污染会影响所有播客,要求调度程序阻

我正在学习Kubernetes,并且面临一个概念性的问题,新的污染模型比简单的节点选择器有什么好处

文档讨论了一个用例,其中一组开发人员可能拥有一组POD的专有权,比如
dedicated=groupA:NoSchedule
。但是我认为我们可以通过一个简单的节点选择器来做同样的事情


更具体地说,这种污染的影响作用是什么。为什么不像Kubernetes的其余部分那样简单地使用标签呢。

节点选择器影响单个pod模板,要求调度程序将其放置在一组节点上。NoSchedule污染会影响所有播客,要求调度程序阻止所有播客在那里被调度

当pod需要来自节点的内容时,节点选择器非常有用。例如,请求具有GPU的节点。当需要为特殊工作负载保留节点时,节点污染非常有用。例如,一个节点应该只运行将使用GPU的POD(因此GPU节点中不会充满不使用GPU的POD)


有时它们在一起也很有用,如上面的示例所示。您希望节点仅具有使用GPU的pod,并且希望将需要GPU的pod调度到GPU节点。在这种情况下,您可能希望使用
dedicated=gpu:NoSchedule
污染节点,并将污染容忍和节点选择器添加到pod模板中。

我认为在上一个示例中,选择器的唯一用途可能是强制。用于选择GPU节点的pod,例如,GPU节点具有GPU以外的可选功能,如SSD或DMZ节点标签。否则,仅此容忍就足以让调度程序将该pod降落到其中一个GPU节点上。@jayunit100这是真的吗?容忍度表示该pod可以(即,容忍)在GPU节点上调度,但没有表示必须在GPU节点上调度。你需要亲和力,除非我遗漏了什么。