亚洲熟女综合色一区二区三区,亚洲精品中文字幕无码蜜桃,亚洲va欧美va日韩va成人网,亚洲av无码国产一区二区三区,亚洲精品无码久久久久久久

Kubernetes K8S之CPU和內(nèi)存資源限制詳解

Pod資源限制

備注:CPU單位換算:100m CPU,100 milliCPU 和 0.1 CPU 都相同;精度不能超過(guò) 1m。1000m CPU = 1 CPU。

官網(wǎng)地址:

https://kubernetes.io/zh/docs/tasks/configure-pod-container/assign-cpu-resource/

https://kubernetes.io/zh/docs/tasks/configure-pod-container/assign-memory-resource/

Kubernetes對(duì)資源的限制實(shí)際上是通過(guò)cgroup來(lái)控制的,cgroup是容器的一組用來(lái)控制內(nèi)核如何運(yùn)行進(jìn)程的相關(guān)屬性集合。針對(duì)內(nèi)存、CPU和各種設(shè)備都有對(duì)應(yīng)的cgroup。

默認(rèn)情況下,Pod運(yùn)行沒(méi)有CPU和內(nèi)存的限額。這意味著系統(tǒng)中的任何Pod將能夠像執(zhí)行Pod所在節(jié)點(diǎn)機(jī)器一樣,可以消耗足夠多的CPU和內(nèi)存。一般會(huì)針對(duì)某些應(yīng)用的Pod資源進(jìn)行資源限制,這個(gè)資源限制是通過(guò)resources的requests【要分配的資源】和limits【最大使用資源】來(lái)實(shí)現(xiàn)的。

CPU資源限制示例

Kubernetes K8S之CPU和內(nèi)存資源限制詳解

配置文件的 args 部分提供了容器啟動(dòng)時(shí)的參數(shù)。-cpus “2”參數(shù)告訴容器嘗試使用 2 個(gè) CPU。

內(nèi)存資源限制示例

Kubernetes K8S之CPU和內(nèi)存資源限制詳解

配置文件的 args 部分提供了容器啟動(dòng)時(shí)的參數(shù)。"--vm-bytes", "150M"?參數(shù)告知容器嘗試分配 150 MiB 內(nèi)存。不允許args中的啟動(dòng)內(nèi)存大于limits限制內(nèi)存。

namespace資源限制

官網(wǎng)地址:

Kubernetes K8S之CPU和內(nèi)存資源限制詳解

Kubernetes K8S之CPU和內(nèi)存資源限制詳解

為命名空間配置內(nèi)存和 CPU 配額

怎么為命名空間設(shè)置容器可用的內(nèi)存和 CPU 總量。你可以通過(guò) ResourceQuota 對(duì)象設(shè)置配額,使用 ResourceQuota 限制命名空間中所有容器的內(nèi)存請(qǐng)求總量、內(nèi)存限制總量、CPU 請(qǐng)求總量和CPU 限制總量。

如果你想對(duì)單個(gè)容器而不是所有容器進(jìn)行限制,就請(qǐng)使用 LimitRange。

示例:

Kubernetes K8S之CPU和內(nèi)存資源限制詳解

應(yīng)用如下【命名空間quota-mem-cpu-example已提前創(chuàng)建完畢】:

Kubernetes K8S之CPU和內(nèi)存資源限制詳解

查看 ResourceQuota 詳情:

Kubernetes K8S之CPU和內(nèi)存資源限制詳解

輸出部分結(jié)果如下:

Kubernetes K8S之CPU和內(nèi)存資源限制詳解

ResourceQuota 在 quota-mem-cpu-example 命名空間中設(shè)置了如下要求:

  • 每個(gè)容器必須有內(nèi)存請(qǐng)求和限制,以及 CPU 請(qǐng)求和限制。

  • 所有容器的內(nèi)存請(qǐng)求總和不能超過(guò)1 GiB。

  • 所有容器的內(nèi)存限制總和不能超過(guò)2 GiB。

  • 所有容器的 CPU 請(qǐng)求總和不能超過(guò)1 cpu。

  • 所有容器的 CPU 限制總和不能超過(guò)2 cpu。

為命名空間配置默認(rèn)的內(nèi)存請(qǐng)求和限制

示例:

Kubernetes K8S之CPU和內(nèi)存資源限制詳解

default類似于之前的limit;defaultRequest類似于之前的request。

應(yīng)用如下:

Kubernetes K8S之CPU和內(nèi)存資源限制詳解

命名空間default-mem-example已提前創(chuàng)建完畢

現(xiàn)在,如果在 default-mem-example 命名空間創(chuàng)建容器,并且該容器沒(méi)有聲明自己的內(nèi)存請(qǐng)求和限制值,那么它將被指定一個(gè)默認(rèn)的內(nèi)存請(qǐng)求256 MiB和一個(gè)默認(rèn)的內(nèi)存限制512 Mib。

為命名空間配置默認(rèn)的CPU請(qǐng)求和限制

示例:

Kubernetes K8S之CPU和內(nèi)存資源限制詳解

應(yīng)用如下:

Kubernetes K8S之CPU和內(nèi)存資源限制詳解

其中default-cpu-example名稱空間已被提前創(chuàng)建

現(xiàn)在如果在 default-cpu-example 命名空間創(chuàng)建一個(gè)容器,該容器沒(méi)有聲明自己的 CPU 請(qǐng)求和限制時(shí),那么將會(huì)給它指定默認(rèn)的 CPU 請(qǐng)求0.5和默認(rèn)的 CPU 限制值1。

配置命名空間的最小和最大內(nèi)存約束

示例:

Kubernetes K8S之CPU和內(nèi)存資源限制詳解

應(yīng)用如下:

Kubernetes K8S之CPU和內(nèi)存資源限制詳解

其中constraints-mem-example名稱空間已被提前創(chuàng)建

查看 LimitRange 的詳情:

Kubernetes K8S之CPU和內(nèi)存資源限制詳解

輸出顯示預(yù)期的最小和最大內(nèi)存約束。但請(qǐng)注意,即使您沒(méi)有在 LimitRange 的配置文件中指定默認(rèn)值,默認(rèn)值也會(huì)被自動(dòng)創(chuàng)建。

Kubernetes K8S之CPU和內(nèi)存資源限制詳解

現(xiàn)在,只要在 constraints-mem-example 命名空間中創(chuàng)建容器,Kubernetes 就會(huì)執(zhí)行下面的步驟:

  • 如果 Container 未指定自己的內(nèi)存請(qǐng)求和限制,將為它指定默認(rèn)的內(nèi)存請(qǐng)求和限制。

  • 驗(yàn)證 Container 的內(nèi)存請(qǐng)求是否大于或等于500 MiB【超出范圍容器創(chuàng)建失敗】。

  • 驗(yàn)證 Container 的內(nèi)存限制是否小于或等于1 GiB【超出范圍容器創(chuàng)建失敗】。

配置命名空間的最小和最大CPU約束

示例:

Kubernetes K8S之CPU和內(nèi)存資源限制詳解

應(yīng)用如下:

Kubernetes K8S之CPU和內(nèi)存資源限制詳解

其中constraints-cpu-example名稱空間已被提前創(chuàng)建

查看 LimitRange 詳情:

Kubernetes K8S之CPU和內(nèi)存資源限制詳解

輸出結(jié)果顯示 CPU 的最小和最大限制符合預(yù)期。但需要注意的是,盡管你在 LimitRange 的配置文件中你沒(méi)有聲明默認(rèn)值,默認(rèn)值也會(huì)被自動(dòng)創(chuàng)建。

Kubernetes K8S之CPU和內(nèi)存資源限制詳解

現(xiàn)在不管什么時(shí)候在 constraints-cpu-example 命名空間中創(chuàng)建容器,Kubernetes 都會(huì)執(zhí)行下面這些步驟:

  • 如果容器沒(méi)有聲明自己的 CPU 請(qǐng)求和限制,將為容器指定默認(rèn) CPU 請(qǐng)求和限制。

  • 核查容器聲明的 CPU 請(qǐng)求確保其大于或者等于200 millicpu。

  • 核查容器聲明的 CPU 限制確保其小于或者等于800 millicpu。

配置命名空間下pod總數(shù)

示例:

Kubernetes K8S之CPU和內(nèi)存資源限制詳解

應(yīng)用如下【命名空間quota-pod-example已提前創(chuàng)建完畢】:

Kubernetes K8S之CPU和內(nèi)存資源限制詳解

查看資源配額的詳細(xì)信息:

Kubernetes K8S之CPU和內(nèi)存資源限制詳解
從輸出的信息我們可以看到,該命名空間下pod的配額是2個(gè),目前創(chuàng)建的pods數(shù)為0,配額使用率為0
Kubernetes K8S之CPU和內(nèi)存資源限制詳解

本文作者:LightZhang666。

原文鏈接:https://blog.csdn.net/woshizhangliang999/article/details/112205526

相關(guān)新聞

歷經(jīng)多年發(fā)展,已成為國(guó)內(nèi)好評(píng)如潮的Linux云計(jì)算運(yùn)維、SRE、Devops、網(wǎng)絡(luò)安全、云原生、Go、Python開發(fā)專業(yè)人才培訓(xùn)機(jī)構(gòu)!