5.3. 设置限制范围
				LimitRange 对象定义的限值范围在 pod、容器、镜像、镜像流和持久性卷声明级别上定义计算资源约束。限制范围指定 pod、容器、镜像、镜像流或持久性卷声明可以消耗的资源量。
			
				要创建和修改资源的所有请求都会针对项目中的每个 LimitRange 对象进行评估。如果资源违反了任何限制,则会拒绝该资源。如果资源没有设置显式值,如果约束支持默认值,则默认值将应用到资源。
			
对于 CPU 和内存限值,如果您指定一个最大值,但没有指定最小限制,资源会消耗超过最大值的 CPU 和内存资源。
核心限制范围对象定义
- 1
- 限制范围对象的名称。
- 2
- pod 可在所有容器间请求的最大 CPU 量。
- 3
- pod 可在所有容器间请求的最大内存量。
- 4
- pod 可在所有容器间请求的最小 CPU 量。如果没有设置min值,或者将min设置为0,则结果为没有限制,pod 消耗的消耗可能会超过maxCPU 值。
- 5
- pod 可在所有容器间请求的最小内存量。如果没有设置min值,或者将min设置为0,则结果为没有限制,pod 消耗的消耗可能会超过max内存的值。
- 6
- pod 中单个容器可以请求的最大 CPU 量。
- 7
- pod 中单个容器可以请求的最大内存量。
- 8
- pod 中单个容器可以请求的最小 CPU 量。如果没有设置min值,或者将min设置为0,则结果为没有限制,pod 消耗的消耗可能会超过maxCPU 值。
- 9
- pod 中单个容器可以请求的最小内存量。如果没有设置min值,或者将min设置为0,则结果为没有限制,pod 消耗的消耗可能会超过max内存的值。
- 10
- 如果没有在 pod 规格中指定限制,则容器的默认 CPU 限值。
- 11
- 如果没有在 pod 规格中指定限制,则容器的默认内存限值。
- 12
- 如果您没有在 pod 规格中指定请求,则容器的默认 CPU 请求。
- 13
- 如果您没有在 pod 规格中指定请求,则容器的默认内存请求。
- 14
- 容器最大的限制与请求的比率。
OpenShift Container Platform Limit 范围对象定义
您可以在一个限制范围对象中指定 core 和 OpenShift Container Platform 资源。
5.3.1. 容器限制
支持的资源:
- CPU
- 内存
支持的限制
根据容器,如果指定,则必须满足以下条件:
Container
| 约束 | 行为 | 
|---|---|
| 
									 | 
									 
									如果配置定义了  | 
| 
									 | 
									 
									如果配置定义了  | 
| 
									 | 
									 
									如果限制范围定义了  
									例如,如果容器的  | 
支持的默认值:
- Default[<resource>]
- 
								如果没有,则默认将 container.resources.limit[resource]设置为指定的值。
- Default Requests[<resource>]
- 
								如果无,则默认为 container.resources.requests[<resource>]作为指定的值。
5.3.2. Pod 限值
支持的资源:
- CPU
- 内存
支持的限制:
在 pod 中的所有容器中,需要满足以下条件:
| 约束 | 强制行为 | 
|---|---|
| 
									 | 
									 | 
| 
									 | 
									 | 
| 
									 | 
									 | 
5.3.3. 镜像限制
支持的资源:
- 存储
资源类型名称:
- 
							openshift.io/Image
根据镜像,如果指定,则必须满足以下条件:
| 约束 | 行为 | 
|---|---|
| 
									 | 
									 | 
						要防止超过限制的 Blob 上传到 registry,则必须将 registry 配置为强制实施配额。REGISTRY_MIDDLEWARE_REPOSITORY_OPENSHIFT_ENFORCEQUOTA 环境变量必须设置为 true。默认情况下,新部署的环境变量设为 true。
					
5.3.4. 镜像流限值
支持的资源:
- 
							openshift.io/image-tags
- 
							openshift.io/images
资源类型名称:
- 
							openshift.io/ImageStream
根据镜像,如果指定,则必须满足以下条件:
| 约束 | 行为 | 
|---|---|
| 
									 | 
									 
									 | 
| 
									 | 
									 
									 | 
5.3.5. 镜像引用计数
					openshift.io/image-tags 资源代表唯一的流限制。可能的引用是 ImageStreamTag、ImageStreamImage 或 DockerImage。可以使用 oc tag 和 oc import-image 命令或使用镜像流来创建标签。内部和外部引用之间没有区别。但是,镜像流规格中标记的每个唯一引用仅计算一次。它不以任何方式限制推送到内部容器镜像 registry,但对标签限制很有用。
				
					openshift.io/images 资源代表在镜像流状态中记录的唯一镜像名称。它有助于限制可推送到内部 registry 的多个镜像。内部和外部引用无法区分。
				
5.3.6. PersistentVolumeClaim 限制
支持的资源:
- 存储
支持的限制:
在一个项目中的所有持久性卷声明中,必须满足以下条件:
| 约束 | 强制行为 | 
|---|---|
| 
									 | Min[<resource>] <= claim.spec.resources.requests[<resource>] (必须) | 
| 
									 | Min[resource] <= claim.spec.resources.requests[resource] (必须) | 
限制范围对象定义
其他资源
有关流限制的详情,请参考管理镜像流。
有关流限制的信息。
有关计算资源约束的更多信息。
有关如何测量 CPU 和内存的更多信息,请参阅推荐的 control plane 实践。
您可以为临时存储指定限值和请求。有关此功能的更多信息,请参阅了解临时存储。