pod的资源限制
前言
環(huán)境:centos7.9 docker-ce-20.10.9 kubernetes-version v1.22.6
pod的資源限制
pod中,容器的程序要運(yùn)行肯定是要占用一定資源的,比如CPU和內(nèi)存等,如果不對(duì)某個(gè)容器的資源對(duì)限制,那么它就可能消耗大量資源,導(dǎo)致其他容器無(wú)法運(yùn)行,針對(duì)這樣情況,kubernetes提供了對(duì)內(nèi)存和CPU資源進(jìn)行配額的機(jī)制,這種機(jī)制主要通過(guò)配置pod中容器的resources選項(xiàng)實(shí)現(xiàn),resources提供了2個(gè)主要的參數(shù),如下:
limits:用于限制運(yùn)行時(shí)容器的最大占用資源,當(dāng)容器占用資源超過(guò)limit時(shí)就會(huì)被終止,進(jìn)進(jìn)行重啟; requests:用于設(shè)置容器需要的最小資源,如果環(huán)境資源不夠,容器將無(wú)法啟動(dòng);可以通過(guò)上面兩個(gè)選項(xiàng)設(shè)置資源的上下線;
資源配額演示范例
[root@master ~]# cat pod-busybox.yaml apiVersion: v1 kind: Pod metadata: name: pod-commandlabels: env: devnamespace: default spec:containers:- image: busyboxname: busybox-containercommand: ["/bin/sh","-c","touch /tmp/hello.txt;while true;do /bin/echo $(date +%T) >> /tmp/hello.txt;sleep 3;done;"]resources: #資源配額limits: #限制最大資源,上限cpu: 2 #CPU限制,單位是code數(shù)memory: 2G #內(nèi)存最大限制requests: #請(qǐng)求資源(最小,下限)cpu: 1 #CPU請(qǐng)求,單位是code數(shù)memory: 500G #內(nèi)存最小請(qǐng)求 [root@master ~]# cpu:code數(shù),可以為整數(shù)或小數(shù) memory:內(nèi)存大小,可以使用Gi、Mi、G、M等單位 cpu的單位m:代表“千分之一核心”,譬如50m的含義是指50/1000核心,即5% 注意:Gi和G,Mi和M優(yōu)點(diǎn)區(qū)別,官網(wǎng)解釋:Mi表示(1Mi=1024×1024),M表示(1M=1000×1000)(其它單位類推, 如Ki/K Gi/G); 可以不寫limits就表示最大不受限制; 當(dāng)requests定義的CPU或memory最小請(qǐng)求資源無(wú)法滿足時(shí),pod就會(huì)創(chuàng)建失敗。總結(jié)
- 上一篇: 光纤收发器工作原理及技术详解
- 下一篇: 缠论指标【缠论指标】