在节点上单独调度POD

在节点上单独调度POD

我们正在尝试隔离特定 pod 的问题,并希望将其单独部署在节点上。(kube-system pod 除外)

有没有简单的方法可以让高优先级的 Pod 自行调度?(例如:将 CPU 请求设置为 100%)

答案1

一般来说,您不应该将 Pod 固定到特定节点 - 因此 Kubernetes 中没有针对此的特定功能。

但无论如何,您可以通过多种方式实现这一点。

(例如:将 CPU 请求设置为 100%)

是的,如果您的节点是同构的(例如,所有节点的 CPU 数量相同),那么我认为这是最好的方法。如果您的节点有 4 个 CPU 核心,您可以将 CPU 请求设置为 3.5 或其他值(取决于 kube-system pod 的请求量)。

使用节点选择器可能是解决这个问题的另一种方法。

答案2

这就是问题所在污点和容忍度旨在解决

我猜测大多数 kube 系统都有一种“通用”容忍度,旨在处理所有污点(如果没有,可以简单地添加一个,如下所示:)

  tolerations:
  - effect: NoSchedule
    operator: Exists

然后,你只需用一些无意义的密钥污染节点,并将匹配的容忍度添加到你想要隔离的 Pod 或部署中

相关内容