您可通過Container Service控制台,設定命名空間的資源配額和限制。
背景信息
在預設的情況下,運行中的 Pod 可以無限制的使用 Node 上的 CPU 和記憶體,這意味著任意一個 Pod 都可以無節制地使用叢集的計算資源,某個命名空間的 Pod 可能會耗盡叢集的資源。
命名空間的一個重要的作用是充當一個虛擬叢集,用於多種工作用途,滿足多使用者的使用需求,因此,為命名空間配置資源額度是一種最佳實務。
您可為命名空間配置包括 CPU、記憶體、Pod 數量等資源的額度,更多資訊請參見 Resource Quotas。
操作步骤
- 登入 Container Service管理主控台。
- 在 Kubernetes 菜單下,單擊左側導覽列的,選擇所需的叢集,然後單擊命名空間test右側的資源配額與限制。
- 在資源配額與限制對話方塊中,您可快速設定資源配額和預設資源限制。
说明 對命名空間設定CPU/記憶體配額(ResourceQuota)後,建立容器組時,必須指定CPU/記憶體資源限制,或為命名空間配置預設資源限制(LimitRange),詳情請參考:
Resource Quotas。
- 您可為命名空間配置資源限額(ResourceQuota)。
- 您可為該命名空間下的容器設定資源限制和資源申請(defaultRequest),從而控制容器的開銷。詳情參見https://kubernetes.io//memory-default-namespace/。
- 您已為該命名空間建立資源配額和限制,串連到 Master 節點串連地址,執行以下命令,查看該命名空間的資源情況。
#kubectl get limitrange,ResourceQuota -n test
NAME AGE
limitrange/limits 8m
NAME AGE
resourcequota/quota 8m
# kubectl describe limitrange/limits resourcequota/quota -n test
Name: limits
Namespace: test
Type Resource Min Max Default Request Default Limit Max Limit/Request Ratio
---- -------- --- --- --------------- ------------- -----------------------
Container cpu - - 100m 500m -
Container memory - - 256Mi 512Mi -
Name: quota
Namespace: test
Resource Used Hard
-------- ---- ----
configmaps 0 100
limits.cpu 0 2
limits.memory 0 4Gi
persistentvolumeclaims 0 50
pods 0 50
requests.storage 0 1Ti
secrets 1 10
services 0 20
services.loadbalancers 0 5