username_not_found Asked: 2021-02-07 17:38:45 +0800 CST2021-02-07 17:38:45 +0800 CST 2021-02-07 17:38:45 +0800 CST 在节点上单独调度 POD 772 我们正在尝试隔离特定 pod 的问题,我们希望将其全部部署在节点上。(除了 kube-system pods) 有没有一种简单的方法可以让高优先级的 pod 自行安排?(例如:将 cpu 请求设置为 100% ) kubernetes 2 个回答 Voted mdaniel 2021-02-07T20:38:05+08:002021-02-07T20:38:05+08:00 这就是污点和容忍旨在解决的问题 我猜想大多数 kube 系统的东西都有一个“通用”的容忍度,旨在与所有污点一起工作(如果没有,可以简单地添加一个如下:) tolerations: - effect: NoSchedule operator: Exists 然后,您只需使用一些无意义的密钥污染节点,并将匹配的容忍度添加到您希望隔离的 Pod 或部署中 Best Answer Jonas 2021-02-07T20:32:36+08:002021-02-07T20:32:36+08:00 通常,您不应将 Pod 固定到特定节点 - 因此 Kubernetes 中没有特定的功能。 但是无论如何,您都可以通过多种方式实现这一目标。 (例如:将 cpu 请求设置为 100% ) 是的,如果您的节点是同质的(例如,所有节点都具有相同的 CPU 数量),那么我认为这是最好的方法。如果您的节点有例如 4 个 CPU 内核,您可以将 CPU 请求设置为 3.5 或其他值(取决于 kube-system pod 请求的数量)。 使用nodeSelector可能是解决此问题的另一种方法。
这就是污点和容忍旨在解决的问题
我猜想大多数 kube 系统的东西都有一个“通用”的容忍度,旨在与所有污点一起工作(如果没有,可以简单地添加一个如下:)
然后,您只需使用一些无意义的密钥污染节点,并将匹配的容忍度添加到您希望隔离的 Pod 或部署中
通常,您不应将 Pod 固定到特定节点 - 因此 Kubernetes 中没有特定的功能。
但是无论如何,您都可以通过多种方式实现这一目标。
是的,如果您的节点是同质的(例如,所有节点都具有相同的 CPU 数量),那么我认为这是最好的方法。如果您的节点有例如 4 个 CPU 内核,您可以将 CPU 请求设置为 3.5 或其他值(取决于 kube-system pod 请求的数量)。
使用nodeSelector可能是解决此问题的另一种方法。