14.3. 限制范围
一个限制范围,由 LimitRange
对象定义,在 pod、容器、镜像、镜像流和持久性卷声明一级的一个 项目中枚举的计算资源约束,并指定 pod、容器、镜像、镜像流和持久性卷声明一级可以消耗的资源数量。
要创建和修改资源的所有请求都会针对项目中的每个 LimitRange
对象进行评估。如果资源违反了任何限制,则会拒绝该资源。如果资源没有设置显式值,如果约束支持默认值,则默认值将应用到资源。
对于 CPU 和内存限值,如果您指定一个最大值,但没有指定最小限制,资源会消耗超过最大值的 CPU 和内存资源。
您可以使用临时存储技术预览功能指定临时存储的限值和请求。此功能默认为禁用。要启用此功能,请参阅为临时存储配置。
限制范围由集群管理员设置,并可限定到给定项目。
14.3.1. 查看限制范围 复制链接链接已复制到粘贴板!
您可以通过在 Web 控制台中导航到项目的 Quota 页面来查看项目中定义的任何限值范围。
您还可以通过执行以下步骤来使用 CLI 查看限制范围详情:
获取项目中定义的限值范围对象列表。例如,对于名为 demoproject 的项目:
oc get limits -n demoproject
$ oc get limits -n demoproject
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
NAME AGE resource-limits 6d
NAME AGE resource-limits 6d
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 描述限值范围。例如,对于名为 resource-limits 的限制范围:
oc describe limits resource-limits -n demoproject
$ oc describe limits resource-limits -n demoproject
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
通过在对象中运行 oc get --export
可以查看完整的限制范围定义。下面显示了一个限制范围定义示例:
核心限制范围对象定义
- 1
- 限制范围对象的名称。
- 2
- pod 可在所有容器间请求的最大 CPU 量。
- 3
- pod 可在所有容器间请求的最大内存量。
- 4
- pod 可在所有容器间请求的最小 CPU 量。如果没有设置
min
值,或者将min
设置为0
,则结果为没有限制,pod 消耗的消耗可能会超过max
CPU 值。 - 5
- pod 可在所有容器间请求的最小内存量。如果没有设置
min
值,或者将min
设置为0
,则结果为没有限制,pod 消耗的消耗可能会超过max
内存的值。 - 6
- pod 中单个容器可以请求的最大 CPU 量。
- 7
- pod 中单个容器可以请求的最大内存量。
- 8
- pod 中单个容器可以请求的最小 CPU 量。如果没有设置
min
值,或者将min
设置为0
,则结果为没有限制,pod 消耗的消耗可能会超过max
CPU 值。 - 9
- pod 中单个容器可以请求的最小内存量。如果没有设置
min
值,或者将min
设置为0
,则结果为没有限制,pod 消耗的消耗可能会超过max
内存的值。 - 10
- 如果没有在 pod 规格中指定限制,则容器的默认 CPU 限值。
- 11
- 如果没有在 pod 规格中指定限制,则容器的默认内存限值。
- 12
- 如果您没有在 pod 规格中指定请求,则容器的默认 CPU 请求。
- 13
- 如果您没有在 pod 规格中指定请求,则容器的默认内存请求。
- 14
- 容器最大的限制与请求的比率。
如需有关如何测量 CPU 和内存的更多信息,请参阅 Compute Resources。