您好,登錄后才能下訂單哦!
這期內(nèi)容當中小編將會給大家?guī)碛嘘P(guān)kubernetes cpu限制參數(shù)的說明是什么,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
Option | Description |
--cpus=<value> | Specify how much of the available CPU resources a container can use. For instance, if the host machine has two CPUs and you set --cpus="1.5", the container is guaranteed at most one and a half of the CPUs. This is the equivalent of setting --cpu-period="100000" and --cpu-quota="150000". Available in Docker 1.13 and higher. |
--cpu-period=<value> | Specify the CPU CFS scheduler period, which is used alongside--cpu-quota. Defaults to 100 micro-seconds. Most users do not change this from the default. If you use Docker 1.13 or higher, use --cpusinstead. |
--cpu-quota=<value> | Impose a CPU CFS quota on the container. The number of microseconds per --cpu-period that the container is limited to before throttled. As such acting as the effective ceiling. If you use Docker 1.13 or higher, use --cpus instead. |
--cpuset-cpus | Limit the specific CPUs or cores a container can use. A comma-separated list or hyphen-separated range of CPUs a container can use, if you have more than one CPU. The first CPU is numbered 0. A valid value might be 0-3 (to use the first, second, third, and fourth CPU) or 1,3 (to use the second and fourth CPU). |
--cpu-shares | Set this flag to a value greater or less than the default of 1024 to increase or reduce the container’s weight, and give it access to a greater or lesser proportion of the host machine’s CPU cycles. This is only enforced when CPU cycles are constrained. When plenty of CPU cycles are available, all containers use as much CPU as they need. In that way, this is a soft limit. --cpu-shares does not prevent containers from being scheduled in swarm mode. It prioritizes container CPU resources for the available CPU cycles. It does not guarantee or reserve any specific CPU access. |
① --cpus指示容器可以使用的CPU數(shù)量。改參數(shù)指定的是百分比,并不是具體的個數(shù)。比如:主機有4個邏輯CPU,限制容器—cpus=2,那么該容器最多可以使用的CPU時間是200%,但是4個CPU分配的時間可能是每個CPU各50%,而不一定是有其中2個CPU使用100%,而另2個CPU使用0%。
--cpus是docker 1.13之后才出來的參數(shù),目的是替代--cpu-period和--cpu-quota兩個參數(shù),從而使配置更簡單。
② --cpu-period表示的是設置CPU時間周期,默認值是100000,單位是us,即0.1s。
③ --cpu-quota指示容器可以使用的最大的CPU時間,配合--cpu-period值使用。如果—cpu-quota=200000,即0.2s。那就是說在0.1s周期內(nèi)改容器可以使用0.2s的CPU時間,顯然1個CPU是無法滿足要求的,需要至少2個CPU才能滿足。
④ --cpuset-cpus設置容器具體可以使用哪些個CPU。如--cpuset-cpus=”0,1,2”或者--cpuset-cpus=”0-2”,則容器會使用第0-2個CPU。
⑤ --cpu-shares,容器使用CPU的權(quán)重,默認值是1024,數(shù)值越大權(quán)重越大。該參數(shù)僅當有多個容器競爭同一個CPU時生效。對于單核CPU,如果容器A設置為--cpu-shares=2048,容器B設置為--cpus-shres=1024,僅當兩個容器需要使用的CPU時間超過整個CPU周期的時候,容器A會被分配66%的CPU時間,容器B被分配33%的CPU時間,大約是2:1;對于多核CPU,僅當多個容器競爭同一個CPU的時候該值生效。
第一種:資源對象LimitRange限制POD和Container的資源
apiVersion: v1 kind: LimitRange metadata: name: mylimits spec: limits: - max: cpu: "2" memory: 1Gi min: cpu: 200m memory: 6Mi type: Pod - default: cpu: 300m memory: 200Mi defaultRequest: cpu: 200m memory: 100Mi max: cpu: "2" memory: 1Gi min: cpu: 100m memory: 3Mi type: Container
spec: containers: - image: gcr.io/google_containers/serve_hostname imagePullPolicy: Always name: kubernetes-serve-hostname resources: limits: cpu: "1" memory: 512Mi requests: cpu: "1" memory: 512Mi
2. docker stats查看容器CPU使用率
由于設置了CPUQuota是CpuPeriod的4倍,所以容器可以使用400% CPU
2. docker stats查看容器CPU使用率
容器可以使用600%的CPU,現(xiàn)在只用400%
2. docker stats查看容器CPU使用率
使用時間等于CpuPeriod,占用100%
從下圖可以看到,有4個CPU分別使用25%,加起來是100%。所以limits.cpu:1并不一定表示容器只會占用1個CPU,而表示的是容器最多可以使用的CPU時間的比例。
2. docker stats查看容器CPU使用率
上述就是小編為大家分享的kubernetes cpu限制參數(shù)的說明是什么了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關(guān)知識,歡迎關(guān)注億速云行業(yè)資訊頻道。
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。