Kubernetes "nice" pod 的 CPU 用法
Kubernetes "nice" a pod's CPU usage
我有一个包含 3 个节点的集群。欢呼!集群不自动缩放节点。
这些节点 运行 一个了不起的网络应用程序,但大多数时候几乎什么都不做。
我还有一个可以无限使用 CPU 的后台进程(有用性迅速下降但仍然有用)。
我希望每个节点上的这些背景 pods 到 运行 并放慢速度以在节点上留出 20% CPU 的余量。或类似。
这是 DaemonSet 的形状。
我可以告诉 Kubernetes 降低 DaemonSet Pods 的优先级,留出 20% 的余量吗?
DaemonSet Pods 能否检测节点 CPU 的使用情况并降低其自身的优先级(如果有故障则有风险)?
QoS 看起来是为了调度和驱逐 pods 为其他 pods 腾出空间,但他们没有得到 'niced'.
Priority 看起来也是为了驱逐。
您可以通过多种方式实现您的目标。
我想您已经阅读了 this and that, based on the theory of this other。
此外,RedHat 在通过软件设置硬件限制方面做得很好documentation。
Here 您可以找到如何限制 cpu 使用,可以在容器内设置以实现您要查找的内容。
因此,回顾一下:您可以使用 K8S 设置请求和限制,并且在容器内您可以设置更严格的限制。
希望这能为您提供解决方案,或至少为您提供实现所需目标的途径。
我有一个包含 3 个节点的集群。欢呼!集群不自动缩放节点。
这些节点 运行 一个了不起的网络应用程序,但大多数时候几乎什么都不做。
我还有一个可以无限使用 CPU 的后台进程(有用性迅速下降但仍然有用)。
我希望每个节点上的这些背景 pods 到 运行 并放慢速度以在节点上留出 20% CPU 的余量。或类似。
这是 DaemonSet 的形状。
我可以告诉 Kubernetes 降低 DaemonSet Pods 的优先级,留出 20% 的余量吗?
DaemonSet Pods 能否检测节点 CPU 的使用情况并降低其自身的优先级(如果有故障则有风险)?
QoS 看起来是为了调度和驱逐 pods 为其他 pods 腾出空间,但他们没有得到 'niced'.
Priority 看起来也是为了驱逐。
您可以通过多种方式实现您的目标。
我想您已经阅读了 this and that, based on the theory of this other。
此外,RedHat 在通过软件设置硬件限制方面做得很好documentation。
Here 您可以找到如何限制 cpu 使用,可以在容器内设置以实现您要查找的内容。
因此,回顾一下:您可以使用 K8S 设置请求和限制,并且在容器内您可以设置更严格的限制。
希望这能为您提供解决方案,或至少为您提供实现所需目标的途径。