This documentation is for a release that is no longer maintained
See documentation for the latest supported version 3 or the latest supported version 4.4.11. 为 OpenShift Pipelines 设置计算资源配额
Red Hat OpenShift Pipelines 中的 ResourceQuota
对象控制每个命名空间的总资源消耗。您可以使用它来限制命名空间中创建的对象数量,具体取决于对象的类型。另外,您可以指定计算资源配额来限制命名空间中消耗的计算资源总量。
但是,您可能希望限制管道运行生成的 Pod 所消耗的计算资源数量,而不是为整个命名空间设置配额。目前,Red Hat OpenShift Pipelines 不会让您直接为管道指定计算资源配额。
4.11.1. 在 OpenShift Pipelines 中限制计算资源消耗的替代方法 复制链接链接已复制到粘贴板!
要获得对管道使用计算资源的一定程度的控制,请考虑以下备选方法:
为任务中的每个步骤设置资源请求和限值。
示例:为任务中的每个步骤设置资源请求和限值。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
通过为
LimitRange
对象指定值来设置资源限值。如需有关LimitRange
的更多信息,请参阅限制范围限制资源消耗。 - 减少管道资源消耗。
- 设置和管理 每个项目的资源配额。
- 理想情况下,管道的计算资源配额应与管道运行中同时运行的 Pod 所消耗的计算资源总量相同。不过,运行任务的容器集会根据用例消耗计算资源。例如,Maven 构建任务可能需要为它构建的不同应用提供不同的计算资源。因此,您无法为通用管道中的任务预先确定计算资源配额。要提高计算资源使用率的可预测性,并对计算资源的使用进行控制,请将自定义管道用于不同的应用程序。
如果您的用例没有通过这些方法解决,您可以使用优先级类的资源配额来实施临时解决方案。
4.11.2. 使用优先级类指定管道资源配额 复制链接链接已复制到粘贴板!
PriorityClass
对象将优先级类名称映射到表示其相对优先级的整数值。数值越高,类的优先级越高。创建优先级类后,您可以创建 pod,在其规格中指定优先级类名称。另外,您可以根据 pod 优先级控制 pod 对系统资源的消耗。
为管道指定资源配额类似于为管道运行创建的 pod 子集设置资源配额。以下步骤通过根据优先级类指定资源配额来提供临时解决方案示例。
流程
为管道创建优先级类。
示例:管道的优先级类
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 为管道创建资源配额。
示例:管道的资源配额
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 验证管道的资源配额使用量。
示例:验证管道的资源配额使用情况
oc describe quota
$ oc describe quota
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 由于容器集没有运行,因此配额没有被使用。
创建管道和任务。
示例:管道的 YAML
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 示例:管道中任务的 YAML
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意确保管道中的所有任务都属于相同的优先级类。
创建并启动管道运行。
示例:管道运行的 YAML
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 创建 pod 后,验证管道运行的资源配额使用量。
示例:验证管道的资源配额使用情况
oc describe quota
$ oc describe quota
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出表明,您可以通过指定每个优先级类的资源配额,为属于优先级类的所有并发运行 pod 管理组合资源配额。