如下pod定义:
containers: - name: busyboxv1 image: busybox:v1 resources: limits: memory: 600Mi cpu: 800m ---------------------- 1cpu=1000m,800m代表 1个cpu使用了80ms(1s=100ms)
requests: memory: 500Mi cpu: 600m - name: busyboxv2 image: busybox:v2 resources: limits: memory: 300Mi cpu: 1 requests: memory: 200Mi cpu: 300m
cpu/mem 的limit和request都是针对container来讲的,不是针对pod。
对于容器busyboxv1:
mem.request: 500Mi 代表要保证调度的目标worker上需要有500M的内存供使用
mem.limit: 600Mi 代表该container可使用的最大mem为600MB,如果该container使用内存超过600M,会报错,比如OOM-killer
cpu.request: 600m 首先,1个cpu划分为1000个毫核,1vcpu=1000m vcpu,1000 mcpu = 100 ms * 1 vcpu 代表1个vcpu在100ms中被完全占据;
因此,600m vcpu表示,1个vcpu占用了60ms,也可认为是request为0.6(1*60ms/100ms)个vcpu‘’
cpu.limit: 800m 代表1个vcpu 使用上限为0.8s(80ms),即0.8个vcpu; 如果cpu.limit为2,代表2s(200ms)中一直使用1个vcpu,或者1s(100ms)中一直使用2个vcpu