欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

docker對cpu使用以及在kubernetes中的用法

這篇文章主要講解了“docker對cpu使用以及在kubernetes中的用法”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“docker對cpu使用以及在kubernetes中的用法”吧!

網(wǎng)站建設(shè)哪家好,找成都創(chuàng)新互聯(lián)公司!專注于網(wǎng)頁設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、微信小程序、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項(xiàng)目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了紅崗免費(fèi)建站歡迎大家使用!

docker對CPU的使用

docker對于CPU的可配置的主要幾個(gè)參數(shù)如下:

  --cpu-shares                    CPU shares (relative weight)
  --cpu-period                    Limit CPU CFS (Completely Fair Scheduler) period
  --cpu-quota                     Limit CPU CFS (Completely Fair Scheduler) quota
  --cpuset-cpus                   CPUs in which to allow execution (0-3, 0,1)

這些參數(shù)主要是通過配置在容器對應(yīng)cgroup中,由cgroup進(jìn)行實(shí)際的CPU管控。其對應(yīng)的路徑可以從cgroup中查看到

cpuset-cpus

[root@node-156 ~]# cat /sys/fs/cgroup/cpuset/docker/12c35c978d926902c3e5f1235b89a07e69d484402ff8890f06d0944cc17f8a71/cpuset.cpus
0-31

cpuset主要用于指定容器運(yùn)行的CPU編號,也就是我們所謂的綁核。

cpushare

[root@node-156 ~]# cat /sys/fs/cgroup/cpu/docker/12c35c978d926902c3e5f1235b89a07e69d484402ff8890f06d0944cc17f8a71/cpu.shares
1024

cpushare主要用于cfs中調(diào)度的權(quán)重。一般來說,在條件相同的情況下,cpushare值越高的,將會(huì)分得更多的時(shí)間片。

兩個(gè)容器的CPU時(shí)間片比重并不是嚴(yán)格權(quán)重的比值,因?yàn)閮蓚€(gè)容器可能對CPU時(shí)間片的需求不同。

cpu-period和cpu-quota

[root@node-156 ~]# cat /sys/fs/cgroup/cpu/docker/12c35c978d926902c3e5f1235b89a07e69d484402ff8890f06d0944cc17f8a71/cpu.cfs_quota_us 
-1
[root@node-156 ~]# cat /sys/fs/cgroup/cpu/docker/12c35c978d926902c3e5f1235b89a07e69d484402ff8890f06d0944cc17f8a71/cpu.cfs_period_us 
100000

cfs_quota_uscfs_period_us兩個(gè)值是聯(lián)合使用的,兩者的比值,即cfs_quota_us/cfs_period_us代表了該容器實(shí)際可用的做多的CPU核數(shù)。

比如cfs_quota_us=50000,cfs_period_us=100000,那么二者的比值是0.5,也就是說該容器可以使用0.5個(gè)cpu。這樣的管控粒度更細(xì),在cgroup使用systemd時(shí)最低可以到0.01核。

cfs_quota_us如果為-1,則表示容器使用CPU不受限制。

綁核方式的益處和弊端

我們先前主要使用的是cpuset,也就是通過綁核的方式。這一方式嚴(yán)格的保證了容器可以使用的CPU的真正的核數(shù)。并通過調(diào)度使得其他容器不綁定這幾個(gè)CPU,使得容器可以獨(dú)享這些cpu。這也就意味著容器的最多使用的CPU個(gè)數(shù)和最小消耗的CPU的數(shù)目都是這些核數(shù)。

這樣的方式安全性高,保證容器的效率,但是弊端也很多:

  • 不夠靈活

  • 資源利用率低,因?yàn)槿萜骺赡苈暶魇褂昧硕鄠€(gè)CPU,但是實(shí)際利用率很低

  • 在NUMA架構(gòu)下,未考慮CPU親和性的話,可能會(huì)導(dǎo)致性能下降

kubernetes中的CPU使用

kubernetes對容器可以設(shè)置兩個(gè)值:

spec.containers[].resources.limits.cpu
spec.containers[].resources.requests.cpu

limits主要用以聲明使用的最大的CPU核數(shù)。通過設(shè)置cfs_quota_uscfs_period_us。比如limits.cpu=3,則cfs_quota_us=300000。

cfs_period_us值一般都使用默認(rèn)的100000

request則主要用以聲明最小的CPU核數(shù)。一方面則體現(xiàn)在設(shè)置cpushare上。比如request.cpu=3,則cpushare=1024*3=3072。

另一方面是提供調(diào)度時(shí)候使用。

當(dāng)創(chuàng)建一個(gè)Pod時(shí),Kubernetes調(diào)度程序?qū)镻od選擇一個(gè)節(jié)點(diǎn)。每個(gè)節(jié)點(diǎn)具有每種資源類型的最大容量:可為Pods提供的CPU和內(nèi)存量。調(diào)度程序確保對于每種資源類型,調(diào)度的容器的資源請求的總和小于節(jié)點(diǎn)的容量。盡管節(jié)點(diǎn)上的實(shí)際內(nèi)存或CPU資源使用量非常低,但如果容量檢查失敗,則調(diào)度程序仍然拒絕在節(jié)點(diǎn)上放置Pod。

而計(jì)算節(jié)點(diǎn)CPU的已經(jīng)分配的量就是通過計(jì)算所有容器的request的和得到的。

可以參考Managing Compute Resources for Containers

kubernetes對CPU使用的益處

  • 更加靈活,更細(xì)粒度的控制。CPU的限制不僅僅在CPU核這個(gè)級別,甚至可以到0.01核。

  • CPU復(fù)用。綁核之后容器既無法使用其他的CPU,容器自己本身綁定的CPU也無法被其他容器使用。最小最大資源使用量都是這幾個(gè)核。而kubernetes的方式可以實(shí)現(xiàn)所有的CPU成為一個(gè)CPU池,提供給CPU使用。

  • 可控和可靠的“超賣”

  • best-effort任務(wù)支持。可以充分利用閑置的CPU資源,使得best-effort任務(wù)得到最大限度的資源支持。同時(shí)當(dāng)資源緊張時(shí),又可以優(yōu)先殺死best-effort,保證Guaranteed的容器的資源使用??梢詤⒖糝esource Quality of Service in Kubernetes。

感謝各位的閱讀,以上就是“docker對cpu使用以及在kubernetes中的用法”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對docker對cpu使用以及在kubernetes中的用法這一問題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關(guān)知識點(diǎn)的文章,歡迎關(guān)注!

分享名稱:docker對cpu使用以及在kubernetes中的用法
轉(zhuǎn)載源于:http://chinadenli.net/article26/gehpjg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供面包屑導(dǎo)航、做網(wǎng)站、網(wǎng)站導(dǎo)航網(wǎng)站營銷、移動(dòng)網(wǎng)站建設(shè)、小程序開發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

小程序開發(fā)