zoukankan      html  css  js  c++  java
  • K8s QoS Pod资源服务质量控制

    Kubernetes 中如果一个 Node 节点上的 Pod 占用资源过多并且不断飙升导致 Node 节点资源不足,可能会导致为了保证节点可用,将容器被杀掉。在遇见这种情况时候,我们希望先杀掉那些不太重要的容器,确保核心容器不会首先被杀掉。为了衡量先杀掉哪个程序,所以推出了优先级机制 QoS (Quality of Service)来做判断,Kubernetes 将容器划分为三种 QoS 等级:

    Guaranteed: 完全可靠的。
    Burstable: 较可靠的。
    BestEffort: 不太可靠的。

    在 Kubernetes 中资源不足时,根据 QoS 等级杀死 Pod 会有以下特点:

    BestEffort Pod: 优先级最低,在 Kubernetes 资源不足时候会将此 Pod 先杀掉。
    Burstable Pod: 优先级居中,如果整个系统内存资源不足,且已经杀完全部 BestEffort 等级的 Pod 时可能被杀掉。
    Guaranteed Pod: 优先级最高,一般情况下不会被杀掉,除非资源不足且系统 BestEffort 和 Burstable 的 Pod 都不存在的情况下,才可能被杀掉。

     Kubernetes 中 Qos 等级是根据 Limits 和 Requests 这两个参数设置的值息息相关,Kubernetes 会根据这两个值的不同而给 Pod 设置不同的 QoS 等级。

    (1)、Guaranteed (等级-最高)

           如果 Pod 中所有容器都定义了 Limits 和 Requests,并且全部容器的 Limits 值 = Requests 值(值不能为0),那么该 Pod 的 QoS 级别就是 Guaranteed。

    注意:这种情况下容器可以只设置 Limits 值即可,引入在只设置 Limits 不设置 Requests 情况下,Requests 值默认等于 Limits 的值。

    (2)、BestEffort(等级-最低)

           如果 Pod 中所有容器都未定义 Requests 和 Limits 值,该 Pod 的 Qos 即为 BestEffort。

    (3)、Burstable(等级-中等)

           当一个 Pod 既不是 Guaranteed 级别,也不说 BestEffort 级别时候,该 Pod 的 QoS 级别就是 Burstable。例如,Pod 中全部或者部分容器 Requests 和 Limits 都定义,且 Requests 小于 Limits 值,或者 Pod 中一部分容器未定义 Requests 和 Limits 资源时。

    转:http://www.mydlq.club/article/36/

    作者:tigergao
    功不唐捐 玉汝于成
  • 相关阅读:
    Win10 注册IIs4.0的解决方案
    Win10 注册IIs4.0的解决方案
    Methods for Using Message Queuing Telemetry Transport for Sensor Networks to Support Sleeping Devices
    Win10 注册IIs4.0的解决方案
    真正聪明的人,为什么从不去社交?
    真正聪明的人,为什么从不去社交?
    真正聪明的人,为什么从不去社交?
    真正聪明的人,为什么从不去社交?
    真正聪明的人,为什么从不去社交?
    真正聪明的人,为什么从不去社交?
  • 原文地址:https://www.cnblogs.com/tigergaonotes/p/14739078.html
Copyright © 2011-2022 走看看