污点模型相对于节点选择器有什么好处

Ara*_*ash 3 kubernetes

我正在学习Kubernetes,并面临一个概念性问题,即新的异味模型相对于简单的节点选择器有什么好处。

文档讨论了一个用例,在这个用例中,一组开发人员可能拥有像这样的污点对一系列Pod的专有权利dedicated=groupA:NoSchedule。但是我认为我们可以通过一个简单的nodeSelector来做同样的事情。

更具体地说,效果在此异味上的作用是什么。为什么不像其他Kubernetes那样简单地使用标签。

cor*_*ien 6

节点选择器影响单个pod模板,要求调度程序将其放置在一组节点上。NoSchedule异味会影响所有吊舱,要求调度程序阻止所有吊舱被安排在那里。

当Pod需要节点中的某些内容时,节点选择器很有用。例如,请求具有GPU的节点。当需要为特殊工作负载保留节点时,节点异味很有用。例如,一个节点仅应运行将使用GPU的Pod(因此GPU节点中不会填充没有使用它的Pod)。

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