3장. OpenShift Pipelines의 컴퓨팅 리소스 할당량 설정
Red Hat OpenShift Pipelines의 ResourceQuota
오브젝트는 네임스페이스당 총 리소스 소비를 제어합니다. 오브젝트 유형에 따라 네임스페이스에서 생성된 오브젝트 수량을 제한하는 데 사용할 수 있습니다. 또한 네임스페이스에서 사용하는 총 컴퓨팅 리소스 양을 제한하기 위해 컴퓨팅 리소스 할당량을 지정할 수 있습니다.
그러나 전체 네임스페이스에 대한 할당량을 설정하는 대신 파이프라인 실행으로 인해 Pod에서 사용하는 컴퓨팅 리소스의 양을 제한할 수 있습니다. 현재 Red Hat OpenShift Pipelines에서는 파이프라인의 컴퓨팅 리소스 할당량을 직접 지정할 수 없습니다.
3.1. OpenShift Pipelines에서 컴퓨팅 리소스 사용을 제한하는 대체 방법
파이프라인에서 컴퓨팅 리소스 사용에 대한 어느 정도의 제어 권한을 얻으려면 다음과 같은 대체 방법을 고려하십시오.
작업의 각 단계에 대한 리소스 요청 및 제한을 설정합니다.
예: 작업의 각 단계에 대한 리소스 요청 및 제한을 설정합니다.
... spec: steps: - name: step-with-limts computeResources: requests: memory: 1Gi cpu: 500m limits: memory: 2Gi cpu: 800m ...
-
LimitRange
오브젝트의 값을 지정하여 리소스 제한을 설정합니다.LimitRange
에 대한 자세한 내용은 제한 범위를 사용하여 리소스 소비 제한을 참조하십시오. - 파이프라인 리소스 사용을 줄입니다.
- 프로젝트당 리소스 할당량을 설정하고 관리합니다.
- 파이프라인의 컴퓨팅 리소스 할당량은 파이프라인 실행에서 동시에 실행되는 Pod에서 사용하는 총 컴퓨팅 리소스 양과 동일해야 합니다. 그러나 작업을 실행하는 Pod는 사용 사례에 따라 컴퓨팅 리소스를 사용합니다. 예를 들어 Maven 빌드 작업에는 빌드하는 애플리케이션에 대해 서로 다른 컴퓨팅 리소스가 필요할 수 있습니다. 따라서 일반 파이프라인의 작업에 대한 컴퓨팅 리소스 할당량을 사전 결정할 수 없습니다. 컴퓨팅 리소스 사용을 예측할 수 있고 제어하려면 다양한 애플리케이션에 대해 사용자 지정된 파이프라인을 사용합니다.
이러한 접근 방식에서 사용 사례를 다루지 않는 경우 우선순위 클래스에 리소스 할당량을 사용하여 해결 방법을 구현할 수 있습니다.