我有一个带3个节点的群集。欢呼!群集不会自动扩展节点。
这些节点运行着出色的Web应用程序,但是大多数时候几乎什么都不做。
我还有一个后台进程,可以使用无限数量的CPU(有用性迅速下降但仍然有用)。
我希望这些后台Pod在每个Node上运行并放慢速度,以在Node上保留20%的CPU余量。或类似。
这就是DaemonSet的形状。
我可以告诉Kubernetes对具有20%净空的DaemonSet Pod进行优先级排序吗?
DaemonSet Pod是否可以检测节点的CPU使用率并对其进行优先级排序(如果有故障,则优先考虑)?
QoS似乎是用于调度和驱逐Pod,以便为其他Pod腾出空间,但它们不会“被隔离”。
Priority也看起来像是在驱逐。
答案 0 :(得分:1)
您可以通过多种方式实现所需的目标。
我想您已经基于this的理论读过that和this other。
RedHat也很documentation关于通过软件战设置硬件限制。
Here,您可以找到如何限制cpu的使用,可以在容器内设置cpu的使用以实现所需的功能。
因此,回顾一下:使用K8S可以设置请求和限制,而在容器内可以设置更多的限制。
希望这可以为您提供解决方案,或者至少为您提供实现所需的路径。