您可通过容器服务控制台,设置命名空间的资源配额和限制。

前提条件

背景信息

在默认的情况下,运行中的Pod可以无限制的使用Node上的CPU和内存,这意味着任意一个Pod都可以无节制地使用集群的计算资源,某个命名空间的Pod可能会耗尽集群的资源。

命名空间的一个重要的作用是充当一个虚拟的集群,用于多种工作用途,满足多用户的使用需求,因此,为命名空间配置资源额度是一种最佳实践。

您可为命名空间配置包括CPU、内存、Pod数量等资源的额度,更多信息请参见Resource Quotas

操作步骤

  1. 登录容器服务管理控制台
  2. 在控制台左侧导航栏中,单击集群
  3. 集群列表页面中,单击目标集群名称或者目标集群右侧操作列下的详情
  4. 在集群管理页左侧导航栏中,单击命名空间
  5. 选择所需的命名空间,然后单击右侧的资源配额与限制
    资源配置与限额(new)
  6. 在资源配额与限制对话框中,您可快速设置资源配额和默认资源限制。
    说明 对命名空间设置CPU/内存配额(ResourceQuota)后,创建容器组时,必须指定CPU/内存资源限制,或为命名空间配置默认资源限制(LimitRange),详情请参见:Resource Quotas
    1. 您可为命名空间配置资源限额(ResourceQuota)。
      设置限额
    2. 您可为该命名空间下的容器设置资源限制和资源申请(defaultRequest),从而控制容器的开销。详情参见Configure Default Memory Requests and Limits for a Namespace
      申请资源
  7. 您已为该命名空间创建资源配额和限制,连接到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