官网: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输入数据,数据缓存在内存中。
需要依赖外部时序数据库系统。
原文地址:https://www.cnblogs.com/sunnyyangwang/p/10983540.html