pod之系统资源限制

目录

简介:

计量单位

cpu计量单位

memory计量单位

limits与requests

Qos Class(quality of service)


简介:

pod资源限制主要有容器的内的两个参数进行控制,主要控制pod使用的系统资源(cpu与memory)。

计量单位

cpu计量单位

在centos当中的获取cpu信息shell脚本:

#!/bin/bash
#Processor_CPU:逻辑cpu的信息
#Physical_CPU:物理cpu的信息
#Cores_CPU:cpu的核心信息
if [ -f /proc/cpuinfo ]
then
    Processor_CPU=$(cat /proc/cpuinfo | grep "processor" )
    echo "-------------"
    echo "$Processor_CPU"
    
    Physical_CPU=$(cat /proc/cpuinfo | grep "physical id" )
    echo "-------------"
    echo "$Physical_CPU"

    Cores_CPU=$(cat /proc/cpuinfo | grep "core id" )
    echo "-------------"
    echo "$Cores_CPU"
else 
    echo " file /proc/cpuinfo is not exsit"
fi   


# 运行结果 
-------------
processor	: 0
processor	: 1
processor	: 2
processor	: 3
-------------
physical id	: 0
physical id	: 0
physical id	: 1
physical id	: 1
-------------
core id		: 0
core id		: 1
core id		: 0
core id		: 1 

#这里可以看出cpu为两个物理CPU,两个核心,四个逻辑CPU                                                                             

Kubernetes 中的一个 cpu 等于:

  • 1 AWS vCPU
  • 1 GCP Core
  • 1 Azure vCore
  • Hyperthread  (intel处理器)

这里物理使用的CPU是interl的处理器,1 Hyperthread 是指我们获取到Porcess_CPU的信息,判断cpu是能够超线程工作,CORE的数量小于Porecessor数量,且Porcessor的数量是core两倍。

k8s当中支持cpu的浮点数,1CPU= 1000 millicore,0.5CPU= 500millicore。

memory计量单位

内存的计量单位为字节计算,可以直接用字节数字表示,但是这样表示不能直观的显示内存的大小,可以使用E, P, T, G, M, K,后缀表示,10^3k=1M 。也可以使幂数:Ei,Pi,Ti ,Gi,Mi,Ki表示,2^10Ki =1 Mi。

limits与requests

limits:表示控制pod对资源的最大的请求量.

requests:表示运行此pod需要分配的系统资源

---
apiVerion: v1
kind:pod
...
...
spec:
    contianers:
    - name: res_test
    ...
      resource:
        limits:
            cpu: 0.25m
            memory: 200Mi
        requests:
            cpu: 0.25m
            memory: 200Mi
    

Qos Class(quality of service)

分配类资源限制之后,describe pod时会生成三个资源类
Qos(quality of service (服务质量)) class:
	Qos class:
	Guaranteed(保证值): 同时设置cpu和内存的limits和requests
	Burstable(可供使用): 至少有一个容器设置cpu和内存的requests属性
	BestEffort(尽力而为): 没有一个容器设置了资源限制

	优先级:guaranteed > Burstable > BestEffort
	当系统资源不够用时,会终止低优先级的pod。

 

你可能感兴趣的:(k8s)