容器资源需求资源限制(二十二)

Posted sunnyyangwang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了容器资源需求资源限制(二十二)相关的知识,希望对你有一定的参考价值。

官网:https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/

容器的资源需求,资源限制

   Request:需求,最低保障;

   Limits:限制,硬限制

    CPU:

     1颗逻辑CPU

     1=1000,millcores

     500m=0.5CPU

 

   内存:

     E、P、T、G、M、K、Ei、Pi

 Request保障容器CPU资源可用,limits限制资源

 技术图片

 编写Demo测试,

 技术图片

 查看CPU压缩使用情况

[[email protected] ~]# cat /proc/cpuinfo |grep "processor" |wc –l  查看CPU个数,宿主机是2个

2

500m占整个cpu的25%,测试正常。

 技术图片

 [[email protected] ~]# kubectl get pods -owide

[[email protected] ~]# kubectl get pods resapp

[[email protected] ~]# kubectl top pods resapp

[[email protected] ~]# kubectl exec resapp -- top

 

Qos是被自动配置的

  Guranteed:每个容器,当集群资源紧张时,拥有最高优先级调度

同时设置CPU和内存的request和limits

  Cpu.limits=cpu.requests

  Memory.limites=memory.request

   Burstable:

     至少有一个容器设置CPU或内存资源的requests属性

   BestEffort:没有任何一个容器设置了request或limit是属性,最新优先级;

 查看上面的Qos,因为设置了cpu,所有术语Burstable中等优先级。

[[email protected] ~]# kubectl describe pods resapp

 技术图片

 改造pod,实现Qos优先级最高权限

 技术图片

 如下,优先级提升到最高。

 技术图片

 生产环境配置参数一般需要根据实际情况来配置这些参数,因此,这些数据的采集需要通过监控服务来采集。

 

本人采用的是prometheus监控模式,高版本的kubelet已弃用内置cadvisor,所以这里不介绍Influxdb+headster+grafana监控。

关于prometheus监控,可参与前期章节(https://www.cnblogs.com/sunnyyangwang/p/10950382.html)。

Influxdb默认没有存储卷。

Heapster汇聚指标数据

 技术图片

 默认采集工具,HeapSter只采集数据,在本节点采集。

新版本的Kubelet内置的cadvisor手机工具,可在单节点查看。默认4194端口。

Cadvisor主动向heapster输入数据,数据缓存在内存中。

需要依赖外部时序数据库系统。

以上是关于容器资源需求资源限制(二十二)的主要内容,如果未能解决你的问题,请参考以下文章

k8s 容器的资源需求,资源限制-监控-资源指标API及自定义指标API

十四. k8s资源需求和限制, 以及pod驱逐策略

k8s资源需求和限制, 以及pod驱逐策略

k8s资源需求和限制, 以及pod驱逐策略

企业运维实战--k8s学习笔记11.k8s容器资源限制

k8s的资源限制及资源请求