Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/kubernetes/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如果burstable和best effort容器都需要计算资源,那么kubernetes会遵循什么优先级?_Kubernetes_Containers - Fatal编程技术网

如果burstable和best effort容器都需要计算资源,那么kubernetes会遵循什么优先级?

如果burstable和best effort容器都需要计算资源,那么kubernetes会遵循什么优先级?,kubernetes,containers,Kubernetes,Containers,我将用一个例子来解释我的问题 假设在一个节点(容量为X+1 cpu,Y+1内存)中有两个容器,一个是Burstable类型的容器,另一个是best effort类型的容器 如果burstable容器(配置为X cpu请求,Y内存请求)已经在使用节点的X cpu,Y内存 当Burstable和Best effort请求节点的未使用的1个cpu和1个内存时,接下来会发生什么。Kubernetes会优先考虑Burstable容器而不是最佳努力,还是随机的 注意:我的问题不是关于进程的退出,而是关于哪个

我将用一个例子来解释我的问题

假设在一个节点(容量为X+1 cpu,Y+1内存)中有两个容器,一个是Burstable类型的容器,另一个是best effort类型的容器

如果burstable容器(配置为X cpu请求,Y内存请求)已经在使用节点的X cpu,Y内存

当Burstable和Best effort请求节点的未使用的1个cpu和1个内存时,接下来会发生什么。Kubernetes会优先考虑Burstable容器而不是最佳努力,还是随机的

注意:我的问题不是关于进程的退出,而是关于哪个容器将获得未使用的1个cpu。

来自:

如果无法满足CPU保证(例如,如果系统任务或守护进程占用大量CPU),POD将不会被杀死,它们将被临时限制

内存是一种不可压缩的资源,所以让我们稍微讨论一下内存管理的语义

尽力而为的吊舱将被视为最低优先级。如果系统内存不足,这些POD中的进程首先会被杀死。不过,这些容器可以使用节点中任意数量的可用内存

保证的POD被视为最高优先级,并且保证在它们超出其限制之前不会被杀死,或者如果系统处于内存压力下,并且没有可以逐出的低优先级容器

Burstable吊舱具有某种形式的最低资源保证,但在可用时可以使用更多资源。在系统内存压力下,一旦这些容器超出其请求且不存在尽力而为的吊舱,它们就更有可能被杀死


因此,Burstable吊舱似乎比Best Effort吊舱具有优先权。

内存超出时就是这种情况。我要问的是,在我提到的例子中,哪个会得到未使用的1Cpu?Burstable或Best-Effort。从分配的角度来看,决策实际上可能是随机的,因为正在运行的容器将与docker通信并获取其额外资源。Kubelet将继续按照上述顺序检查util和kill吊舱的危险等级。谢谢!但是你有证据表明这个决定是随机的吗