轉(zhuǎn)載用于收藏學(xué)習(xí):原文
Pod資源限制
為了保證充分利用集群資源,且確保重要容器在運(yùn)行周期內(nèi)能夠分配到足夠的資源穩(wěn)定運(yùn)行,因此平臺(tái)需要具備
Pod的資源限制的能力。 對(duì)于一個(gè)pod來(lái)說(shuō),資源最基礎(chǔ)的2個(gè)的指標(biāo)就是:CPU和內(nèi)存。
Kubernetes提供了個(gè)采用requests和limits 兩種類(lèi)型參數(shù)對(duì)資源進(jìn)行預(yù)分配和使用限制。
requests:
- 容器使用的最小資源需求,作用于schedule階段,作為容器調(diào)度時(shí)資源分配的判斷依賴(lài)
- 只有當(dāng)前節(jié)點(diǎn)上可分配的資源量 >= request 時(shí)才允許將容器調(diào)度到該節(jié)點(diǎn)
- request參數(shù)不限制容器的最大可使用資源
- requests.cpu被轉(zhuǎn)成docker的–cpu-shares參數(shù),與cgroup cpu.shares功能相同 (無(wú)論宿主機(jī)有多少個(gè)cpu或者內(nèi)核,–cpu-shares選項(xiàng)都會(huì)按照比例分配cpu資源)
- requests.memory沒(méi)有對(duì)應(yīng)的docker參數(shù),僅作為k8s調(diào)度依據(jù)
limits:
- 容器能使用資源的最大值
- 設(shè)置為0表示對(duì)使用的資源不做限制, 可無(wú)限的使用
- 當(dāng)pod 內(nèi)存超過(guò)limit時(shí),會(huì)被oom
- 當(dāng)cpu超過(guò)limit時(shí),不會(huì)被kill,但是會(huì)限制不超過(guò)limit值
- limits.cpu會(huì)被轉(zhuǎn)換成docker的–cpu-quota參數(shù)。與cgroup cpu.cfs_quota_us功能相同
- limits.memory會(huì)被轉(zhuǎn)換成docker的–memory參數(shù)。用來(lái)限制容器使用的最大內(nèi)存
對(duì)于 CPU,我們知道計(jì)算機(jī)里 CPU 的資源是按 “時(shí)間片”的方式來(lái)進(jìn)行分配的,系統(tǒng)里的每一個(gè)操作都需要 CPU 的處理,所以,哪個(gè)任務(wù)要是申請(qǐng)的 CPU 時(shí)間片越多,那么它得到的 CPU 資源就越多。然后還需要了解下 CGroup 里面對(duì)于 CPU 資源的單位換算:
1 CPU = 1000 millicpu(1 Core = 1000m)
這里的 m 就是毫、毫核的意思,Kubernetes 集群中的每一個(gè)節(jié)點(diǎn)可以通過(guò)操作系統(tǒng)的命令來(lái)確認(rèn)本節(jié)點(diǎn)的 CPU 內(nèi)核數(shù)量,然后將這個(gè)數(shù)量乘以1000,得到的就是節(jié)點(diǎn)總 CPU 總毫數(shù)。比如一個(gè)節(jié)點(diǎn)有四核,那么該節(jié)點(diǎn)的 CPU 總毫量為 4000m。文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-536985.html
docker run命令和 CPU 限制相關(guān)的所有選項(xiàng)如下:
選項(xiàng) | 描述 |
---|---|
–cpuset-cpus=“” | 允許使用的 CPU 集,值可以為 0-3,0,1 |
-c,–cpu-shares=0 | CPU 共享權(quán)值(相對(duì)權(quán)重) |
cpu-period=0 | 限制 CPU CFS 的周期,范圍從 100ms~1s,即[1000, 1000000] |
–cpu-quota=0 | 限制 CPU CFS 配額,必須不小于1ms,即 >= 1000,絕對(duì)限制 |
docker run -it --cpu-period=50000 --cpu-quota=25000 ubuntu:16.04 /bin/bash
> 將 CFS 調(diào)度的周期設(shè)為 50000,將容器在每個(gè)周期內(nèi)的 CPU 配額設(shè)置為 25000,表示該容器每 50ms 可以得到 50% 的 CPU 運(yùn)行時(shí)間。
注意:若內(nèi)存使用超出限制,會(huì)引發(fā)系統(tǒng)的OOM機(jī)制,因CPU是可壓縮資源,不會(huì)引發(fā)Pod退出或重建
————————————————
版權(quán)聲明:本文為CSDN博主「鳳舞飄伶」的原創(chuàng)文章,遵循CC 4.0 BY-SA版權(quán)協(xié)議,轉(zhuǎn)載請(qǐng)附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/woshaguayi/article/details/129387686文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-536985.html
到了這里,關(guān)于k8s pod “cpu和內(nèi)存“ 資源限制的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!