您可通過Container Service控制台,設定命名空間的資源配額和限制。

前提条件

背景信息

在預設的情況下,運行中的 Pod 可以無限制的使用 Node 上的 CPU 和記憶體,這意味著任意一個 Pod 都可以無節制地使用叢集的計算資源,某個命名空間的 Pod 可能會耗盡叢集的資源。

命名空間的一個重要的作用是充當一個虛擬叢集,用於多種工作用途,滿足多使用者的使用需求,因此,為命名空間配置資源額度是一種最佳實務。

您可為命名空間配置包括 CPU、記憶體、Pod 數量等資源的額度,更多資訊請參見 Resource Quotas

操作步骤

  1. 登入 Container Service管理主控台
  2. 在 Kubernetes 菜單下,單擊左側導覽列的叢集 > 命名空間,選擇所需的叢集,然後單擊命名空間test右側的資源配額與限制


  3. 在資源配額與限制對話方塊中,您可快速設定資源配額和預設資源限制。
    说明 對命名空間設定CPU/記憶體配額(ResourceQuota)後,建立容器組時,必須指定CPU/記憶體資源限制,或為命名空間配置預設資源限制(LimitRange),詳情請參考: Resource Quotas
    1. 您可為命名空間配置資源限額(ResourceQuota)。


    2. 您可為該命名空間下的容器設定資源限制和資源申請(defaultRequest),從而控制容器的開銷。詳情參見https://kubernetes.io//memory-default-namespace/


  4. 您已為該命名空間建立資源配額和限制,串連到 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