14.3. 제한 범위
LimitRange
오브젝트에서 정의하는 제한 범위는 Pod, 컨테이너, 이미지, 이미지 스트림 및 영구 볼륨 클레임 수준에서 프로젝트 의 컴퓨팅 리소스 제약 조건을 열거하고 Pod, 컨테이너, 이미지, 이미지 스트림 또는 영구 볼륨 클레임에서 사용할 수 있는 리소스의 양을 지정합니다.
리소스 생성 및 수정을 위한 모든 요청은 프로젝트의 각 LimitRange
오브젝트에 대해 평가됩니다. 리소스가 열거된 제약 조건을 위반하는 경우 해당 리소스는 거부됩니다. 리소스에서 명시적 값을 설정하지 않고 제약 조건이 기본값을 지원하는 경우 기본값은 리소스에 적용됩니다.
CPU 및 메모리 제한의 경우 최대값을 지정하지만 최소 제한을 지정하지 않으면 리소스에서 최대값보다 많은 CPU 및 메모리 리소스를 사용할 수 있습니다.
임시 스토리지 기술 프리뷰를 사용하여 임시 스토리지에 대한 제한 및 요청을 지정할 수 있습니다. 이 기능은 기본적으로 비활성화되어 있습니다. 이 기능을 활성화하려면 임시 스토리지의 구성을 참조하십시오.
제한 범위는 클러스터 관리자가 설정하며 지정된 프로젝트로 범위가 지정됩니다.
14.3.1. 제한 범위 보기
웹 콘솔에서 프로젝트의 할당량 페이지로 이동하여 프로젝트에 정의된 제한 범위를 볼 수 있습니다.
CLI를 사용하여 다음 단계를 수행하여 제한 범위 세부 정보를 볼 수도 있습니다.
프로젝트에 정의된 제한 범위 오브젝트 목록을 가져옵니다. 예를 들어 demoproject라는 프로젝트의 경우 다음과 같습니다.
$ oc get limits -n demoproject
출력 예
NAME AGE resource-limits 6d
제한 범위를 설명합니다. 예를 들어 resource-limits 라는 제한 범위의 경우:
$ oc describe limits resource-limits -n demoproject
출력 예
Name: resource-limits Namespace: demoproject Type Resource Min Max Default Request Default Limit Max Limit/Request Ratio ---- -------- --- --- --------------- ------------- ----------------------- Pod cpu 200m 2 - - - Pod memory 6Mi 1Gi - - - Container cpu 100m 2 200m 300m 10 Container memory 4Mi 1Gi 100Mi 200Mi - openshift.io/Image storage - 1Gi - - - openshift.io/ImageStream openshift.io/image - 12 - - - openshift.io/ImageStream openshift.io/image-tags - 10 - - -
전체 제한 범위 정의는 오브젝트에서 oc get --export
를 실행하여 볼 수 있습니다. 다음은 제한 범위 정의의 예를 보여줍니다.
코어 제한 범위 오브젝트 정의
apiVersion: "v1" kind: "LimitRange" metadata: name: "core-resource-limits" 1 spec: limits: - type: "Pod" max: cpu: "2" 2 memory: "1Gi" 3 min: cpu: "200m" 4 memory: "6Mi" 5 - type: "Container" max: cpu: "2" 6 memory: "1Gi" 7 min: cpu: "100m" 8 memory: "4Mi" 9 default: cpu: "300m" 10 memory: "200Mi" 11 defaultRequest: cpu: "200m" 12 memory: "100Mi" 13 maxLimitRequestRatio: cpu: "10" 14
- 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 를 참조하십시오.