设置资源限制
更新时间:2025-04-02
命名空间中的资源使用限制(LimitRange)有利于资源的合理分配和管理,提高集群资源的利用率和可用性。本文介绍如何设置命名空间中资源的使用限制。,更多信息请见LimitRange。
前提条件
操作步骤
- 登录百度智能云管理控制台。
- 进入产品服务>云原生>容器引擎 CCE,单击集群管理>集群列表,单击目标集群名称,进入"集群详情"页,在侧边栏单击命名空间。
- 在命名空间列表中单击目标命名空间的更多>设置资源限制操作。
-
配置该命名空间的CPU、内存资源限制。
限制名称 限制说明 CPU Request(请求) 容器没有声明CPU限制的情况下,该命名空间中每个容器执行请求占用CPU的最小值 CPU Limit(限制) 容器没有声明CPU限制的情况下,该命名空间中每个容器执行请求占用CPU的最大值 内存 Request(请求) 容器没有声明内存限制的情况下,该命名空间中每个容器执行请求占用内存的最小值 内存 Limit(限制) 容器没有声明内存限制的情况下,该命名空间中每个容器执行请求占用内存的最大值 说明:
- 不填表示对该资源无限制。
- 仅在ResourceQuota设置了CPU、内存限制之后Rangelimit才会对Pod里的容器生效。
- 单击确定,完成设置命名空间资源限制。
示例
使用 LimitRange 为 Container 设置默认 Resource
创建 LimitRange YAML,声明 Container 内存的默认限制量和默认请求量:
Plain Text
1apiVersion: v1
2kind: LimitRange
3metadata:
4 name: mem-limit-range
5 namespace: quota-example
6spec:
7 limits:
8 - default:
9 memory: 512Mi
10 defaultRequest:
11 memory: 256Mi
12 type: Container
创建 Pod 如果没有声明 memory,会默认设置上该值:
Plain Text
1 spec:
2 resources:
3 limits:
4 memory: 512Mi
5 requests:
6 memory: 256Mi
更多内容可以参考:通过 LimitRange 限制范围
使用 LimitRange 为 Container 限制 Limits/Requests 的比例
说明:
如果指定了 LimitRange 对象的 spec.limits.maxLimitRequestRatio 字段,名称空间中的 Pod/容器的 request 和 limit 都不能为 0,且 limit 除以 request 的结果必须小于或等于 LimitRange 的 spec.limits.maxLimitRequestRatio。
1、创建 LimitRange YAML,声明名称空间中限制 Limits/Requests 的比例:
Plain Text
1apiVersion: v1
2kind: LimitRange
3metadata:
4 name: mem-limit-range
5 namespace: quota-example
6spec:
7 limits:
8 - maxLimitRequestRatio:
9 memory: 2
10 type: Container
2、使用以下 YAML 创建 Deployment, 会发现 Pod 的最大内存限定(limit)超过最小内存请求(request)的两倍而无法创建 Pod :
Plain Text
1apiVersion: apps/v1
2kind: Deployment
3metadata:
4 name: deployment-example
5 namespace: quota-example
6 labels:
7 app: nginx
8spec:
9 replicas: 1
10 selector:
11 matchLabels:
12 app: nginx
13 template:
14 metadata:
15 labels:
16 app: nginx
17 spec:
18 restartPolicy: Always
19 containers:
20 - name: nginx
21 image: hub.baidubce.com/cce/nginx-alpine-go:latest
22 imagePullPolicy: Always
23 resources:
24 limits:
25 cpu: 100m
26 memory: 1280Mi
27 requests:
28 cpu: 100m
29 memory: 128Mi