Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xslt/3.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
什么';Kubernetes中优先级和QoS的区别是什么?_Kubernetes_Qos_Preemption - Fatal编程技术网

什么';Kubernetes中优先级和QoS的区别是什么?

什么';Kubernetes中优先级和QoS的区别是什么?,kubernetes,qos,preemption,Kubernetes,Qos,Preemption,在Kubernetes中,我们可以根据请求和限制,将pod的优先级设置为保证、稳定或尽力而为。在Kubernetes中分配优先级的另一种方法是定义priorityClass对象,并将priorityClassName分配给pod。这些方法有什么不同?当我们必须选择一种方法而不是另一种方法时?根据: < P>调度程序的抢占逻辑在选择抢占目标时不考虑QoS。抢占考虑Pod优先级,并尝试选择一组优先级最低的目标 因此,如果Kubernetes必须在具有保证的QoS的pod(其“优先级类”值低于Burs

在Kubernetes中,我们可以根据请求和限制,将pod的优先级设置为
保证
稳定
尽力而为
。在Kubernetes中分配优先级的另一种方法是定义
priorityClass
对象,并将
priorityClassName
分配给pod。这些方法有什么不同?当我们必须选择一种方法而不是另一种方法时?根据:

< P>调度程序的抢占逻辑在选择抢占目标时不考虑QoS。抢占考虑Pod优先级,并尝试选择一组优先级最低的目标


因此,如果Kubernetes必须在具有
保证的
QoS的pod(其“优先级类”值低于
Burstable
pod)之间进行选择,那么它是否会将
保证的
pod置于抢占状态?

调度器会简单地忽略前面提到的QoS。
抢占只考虑了
优先级类
,QoS在此不起作用。

调度程序只会忽略前面提到的QoS。
抢占只考虑到
优先级类
,QoS在这里不起作用。

服务质量
决定POD的调度和逐出优先级。当pod未获得任何资源请求/限制时,它被视为
低优先级pod(尽力而为)
。如果节点资源不足,它将是第一个被逐出的pod

中等优先级(burstable)
当pod具有指定的任何资源/限制(不满足保证等级要求)时

最高优先级(保证)
当pod的请求和限制设置为相同的值(CPU和内存)时

PriorityClass
用于在驱逐时确定pod优先级。有时你可能希望一个豆荚在另一个豆荚之前被驱逐。优先级在其
字段中用整数表示,值越高,优先级越高

当Pod优先级被启用时,调度器将按优先级对挂起的Pod进行排序,并将挂起的Pod放置在调度队列中优先级较低的其他挂起的Pod之前。如果没有具有满足高优先级节点要求的资源的节点,它将逐出优先级较低的POD。最高优先级为
系统节点关键

  • QoS
    用于控制和管理网络中节点上的资源 豆荚。当服务器上没有可用资源时,就会发生QoS逐出 节点
  • 调度器在QoS之前考虑Pod的
    PriorityClass
    。除非需要调度更高优先级的pod,并且节点没有足够的空间容纳它们,否则它不会尝试逐出pod
  • PriorityClass
    -当pod被抢占时,
    PriorityClass
    尊重优雅的终止期,但不保证遵守pod中断预算
服务质量
决定POD的调度和收回优先级。当pod未获得任何资源请求/限制时,它被视为
低优先级pod(尽力而为)
。如果节点资源不足,它将是第一个被逐出的pod

中等优先级(burstable)
当pod具有指定的任何资源/限制(不满足保证等级要求)时

最高优先级(保证)
当pod的请求和限制设置为相同的值(CPU和内存)时

PriorityClass
用于在驱逐时确定pod优先级。有时你可能希望一个豆荚在另一个豆荚之前被驱逐。优先级在其
字段中用整数表示,值越高,优先级越高

当Pod优先级被启用时,调度器将按优先级对挂起的Pod进行排序,并将挂起的Pod放置在调度队列中优先级较低的其他挂起的Pod之前。如果没有具有满足高优先级节点要求的资源的节点,它将逐出优先级较低的POD。最高优先级为
系统节点关键

  • QoS
    用于控制和管理网络中节点上的资源 豆荚。当服务器上没有可用资源时,就会发生QoS逐出 节点
  • 调度器在QoS之前考虑Pod的
    PriorityClass
    。除非需要调度更高优先级的pod,并且节点没有足够的空间容纳它们,否则它不会尝试逐出pod
  • PriorityClass
    -当pod被抢占时,
    PriorityClass
    尊重优雅的终止期,但不保证遵守pod中断预算
因此,如果我在以下场景中出错,请纠正我的错误:(a)我们有3个节点,每个节点都运行一个
有保证的
pod,并且每个节点都有200MB的可用内存,当我应用一个新部署时,具有更高优先级的pod,该pod请求400MiB内存(但限制为500MB,即
Burstable
)调度器抢占以前的
保证的
pod来调度这些新的
Burstable
pod。(b) 运行较高优先级
Burstable
pod和较低优先级
guaranted
pod的节点。然后节点没有可用的资源,必须收回一个,它将收回较高优先级的
Burstable
pod。(c)在场景b之后,必须再次安排收回的
Burstable
pod(这是一个部署),但如果任何节点上都没有这样的空间,调度程序退出
保证的
pod,以再次调度
Burstable
pod。“服务质量决定pod的调度和退出优先级。”我不明白QoS类与调度有什么关系?在节点资源耗尽的情况下,它们决定逐出。调度使用优先级来设置顺序。那么,QoS和调度之间的联系在哪里呢