1-2 給容器和PODS 分配CPU資源

這一小節講述 如何對容器分配CPU資源和對CPU資源使用作限制。
一個容器被保證有足夠的CPU資源能夠被調用,可是也不容許使用超過CPU資源的限制。api

建立一個命名空間ide

kubectl create namespace cpu-examplespa

定義一個CPU資源請求和CPU資源限制內存

資源請求
resources:requests資源

資源限制
resources:limitsget

在這個練習中,你建立了一個POD擁有 0.5cpu和1cpu的限制
apiVersion: v1
kind: Pod
metadata:
name: cpu-demo
namespace: cpu-example
spec:
containers:requests

  • name: cpu-demo-ctr
    image: vish/stress
    resources:
    limits:
    cpu: "1"
    requests:
    cpu: "0.5"
    args:
    • -cpus
    • "2"

args 設置了分配2個CPUit

建立PODio

kubectl create -f https://k8s.io/examples/pods/resource/cpu-request-limit.yaml --namespace=cpu-exampleclass

驗證POD是否在運行

kubectl get pod cpu-demo --namespace=cpu-example

查看POD的詳細信息

kubectl get pod cpu-demo --output=yaml --namespace=cpu-example

顯示POD的資源分配爲 500 milliCPU 和 1 CPU的限制

resources:
limits:
cpu: "1"
requests:
cpu: 500m

能夠使用如下命令來獲取容器的指標

kubectl top pod cpu-demo --namespace=cpu-example

如下爲顯示的內存分配指標
NAME CPU(cores) MEMORY(bytes)
cpu-demo 974m <something>

能夠看到,雖然CPU設置了請求分配是2,可是限制是1,因此多於的資源請求會被砍掉。

CPU 單元

CPU資源使用CPU單元來衡量。在k8s裏面,一個CPU至關於:

相關文章
相關標籤/搜索