k8s pod资源限制requests和limits

环境:kubernetes v1.18.16

k8s 资源单位介绍

CPU1 core = 1000 milli core(毫核);50m相当于0.05core,最小单位1m;
内存M 1000进制 129M字节;Mi 1024进制

pod资源限额设置:

spec:
      containers:
        - name: [容器名称]
          image: [容器镜像]
          imagePullPolicy: IfNotPresent
          resources:
            requests: 
              cpu: 10m
              memory: 10Mi
            limits:
              cpu: '1'
              memory: 1000Mi

requests:最低配额,保证被调度的节点上至少有的资源配额
limits: 资源限制,容器可以分配到的最大资源配额

pod qosClass介绍

qosClass 表示服务质量类型(Quality of Service)。其值由pod请求的内存和cpu确定的,有三种类型:Guaranteed,Burstable 和 BestEffort。当node资源不足而驱逐pod时优先级不同:BestEffort→Burstable→Guaranteed。最先驱逐BestEffort,然后Burstable,最后Guaranteed。pod没有配置资源限制的时默认为BestEffort

kubectl get  pod [pod名称] -o yml podqosClass类型

输出中qosClass字段显示当前

QoS Classes分类

Guranteed:pod中所有Container的所有Resource的limit和request都相等且不为0,则这个Pod的QoS Class就是Guaranteed。注意,如果一个容器只指明了limit,而未指明request,则表明request的值等于limit的值。
Burstable:pod中至少有一个容器设置CPU或内存资源的requests属性。
BestEffort:Pod中没有任何一个容器设置了requests或limits属性。

node资源紧缺时pod驱逐机制

Guaranteed > Burstable > BestEffort
参考:http://t.zoukankan.com/peitianwang-p-11588003.html

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容