8.3.2. 구성 요소 제한 정보


다음 예제를 검토하여 LimitRange 오브젝트를 생성하거나 편집할 때 에 대한 각 구성 요소에 대한 제한 범위 매개변수를 확인합니다.

해당 예제는 명확성을 위해 분류되어 있습니다. 필요에 따라 일부 또는 모든 구성 요소에 대해 단일 LimitRange 오브젝트를 생성할 수 있습니다.

컨테이너 제한

제한 범위를 사용하면 Pod의 각 컨테이너에서 특정 프로젝트에 대해 요청할 수 있는 최소 및 최대 CPU 및 메모리를 지정할 수 있습니다. 프로젝트에서 컨테이너가 생성되면 Pod 사양의 컨테이너 CPU 및 메모리 요청이 LimitRange 오브젝트에 설정된 값을 준수해야 합니다. 그러지 않으면 Pod가 생성되지 않습니다. 다음 요구 사항이 충족되어야 합니다.

  • 컨테이너 CPU 또는 메모리에 대한 요청 및 제한이 LimitRange 오브젝트에 지정된 컨테이너의 min 리소스 제약 조건보다 크거나 같아야 합니다.
  • 컨테이너 CPU 또는 메모리 요청 및 제한이 LimitRange 오브젝트에 지정된 컨테이너의 max 리소스 제약 조건보다 작거나 같아야 합니다.

LimitRange 오브젝트에서 max CPU를 정의하는 경우 Pod 사양에 CPU request 값을 정의할 필요가 없습니다. 그러나 제한 범위에 지정된 최대 CPU 제약 조건을 충족하는 CPU limit 값은 지정해야 합니다. 다음 요구 사항이 충족되어야 합니다.

  • 요청에 대한 컨테이너 제한 비율은 LimitRange 오브젝트에 지정된 컨테이너의 maxLimitRequestRatio 값보다 작거나 같아야 합니다.

    LimitRange 오브젝트에서 maxLimitRequestRatio 제약 조건을 정의하는 경우 새 컨테이너에 requestlimit 값이 모두 있어야 합니다. AWS의 Red Hat OpenShift Service는 제한 사항을 요청으로 나눠 제한 대 요청 비율을 계산합니다. 이 값은 음수가 아닌 1보다 큰 정수여야 합니다.

    예를 들어 컨테이너의 limit 값이 cpu: 500이고 request 값이 cpu: 100인 경우 cpu의 제한 대 요청 비율은 5입니다. 이 비율은 maxLimitRequestRatio보다 작거나 같아야 합니다.

Pod 사양에서 컨테이너 리소스 메모리 또는 제한을 지정하지 않으면 제한 범위 오브젝트에 지정된 컨테이너의 default 또는 defaultRequest CPU 및 메모리 값이 컨테이너에 할당됩니다.

컨테이너 LimitRange 오브젝트 정의

apiVersion: "v1"
kind: "LimitRange"
metadata:
  name: "resource-limits"
spec:
  limits:
    - type: "Container"
      max:
        cpu: "2"
        memory: "1Gi"
      min:
        cpu: "100m"
        memory: "4Mi"
      default:
        cpu: "300m"
        memory: "200Mi"
      defaultRequest:
        cpu: "200m"
        memory: "100Mi"
      maxLimitRequestRatio:
        cpu: "10"

다음과 같습니다.

metadata.name
제한 범위 오브젝트의 이름을 지정합니다.
spec.limit.max.cpu
Pod의 단일 컨테이너에서 요청할 수 있는 최대 CPU 양을 지정합니다.
spec.limit.max.memory
Pod의 단일 컨테이너에서 요청할 수 있는 최대 메모리 양을 지정합니다.
spec.limit.min.cpu
Pod의 단일 컨테이너에서 요청할 수 있는 최소 CPU 양을 지정합니다.
spec.limit.min.memory
Pod의 단일 컨테이너에서 요청할 수 있는 최소 메모리 양을 지정합니다.
spec.limit.default.cpu
Pod 사양에 지정되지 않은 경우 컨테이너에서 사용할 수 있는 기본 CPU 양을 지정합니다.
spec.limit.default.memory
Pod 사양에 지정되지 않은 경우 컨테이너에서 사용할 수 있는 기본 메모리 양을 지정합니다.
spec.limit.defaultRequest.cpu
Pod 사양에 지정되지 않은 경우 컨테이너에서 요청할 수 있는 기본 CPU 양을 지정합니다.
spec.limit.defaultRequest.memory
Pod 사양에 지정되지 않은 경우 컨테이너에서 요청할 수 있는 기본 메모리 양을 지정합니다.
spec.limit.maxLimitRequestRatio.cpu
컨테이너의 최대 제한 대 요청 비율을 지정합니다.
Pod 제한

제한 범위를 사용하면 지정된 프로젝트의 Pod에서 모든 컨테이너에 대해 최소 및 최대 CPU 및 메모리 제한을 지정할 수 있습니다. 프로젝트에서 컨테이너를 생성하려면 Pod 사양의 컨테이너 CPU 및 메모리 요청이 LimitRange 오브젝트에 설정된 값을 준수해야 합니다. 그러지 않으면 Pod가 생성되지 않습니다.

Pod 사양에서 컨테이너 리소스 메모리 또는 제한을 지정하지 않으면 제한 범위 오브젝트에 지정된 컨테이너의 default 또는 defaultRequest CPU 및 메모리 값이 컨테이너에 할당됩니다.

Pod의 모든 컨테이너에서 다음 요구 사항이 충족되어야 합니다.

  • 컨테이너 CPU 또는 메모리에 대한 요청 및 제한이 LimitRange 오브젝트에 지정된 Pod의 min 리소스 제약 조건보다 크거나 같아야 합니다.
  • 컨테이너 CPU 또는 메모리에 대한 요청 및 제한이 LimitRange 오브젝트에 지정된 Pod의 max 리소스 제약 조건보다 작거나 같아야 합니다.
  • 요청에 대한 컨테이너 제한 대 요청 비율이 LimitRange 오브젝트에 지정된 maxLimitRequestRatio 제약 조건보다 작거나 같아야 합니다.

Pod LimitRange 오브젝트 정의

apiVersion: "v1"
kind: "LimitRange"
metadata:
  name: "resource-limits"
spec:
  limits:
    - type: "Pod"
      max:
        cpu: "2"
        memory: "1Gi"
      min:
        cpu: "200m"
        memory: "6Mi"
      maxLimitRequestRatio:
        cpu: "10"

다음과 같습니다.

metadata.name
제한 범위 오브젝트의 이름을 지정합니다.
spec.limit.max.cpu
Pod에서 모든 컨테이너에 요청할 수 있는 최대 CPU 양을 지정합니다.
spec.limit.max.memory
Pod에서 모든 컨테이너에 요청할 수 있는 최대 메모리 양을 지정합니다.
spec.limit.min.cpu
Pod에서 모든 컨테이너에 요청할 수 있는 최소 CPU 양을 지정합니다.
spec.limit.min.memory
Pod에서 모든 컨테이너에 요청할 수 있는 최소 메모리 양을 지정합니다.
spec.limit.maxLimitRequestRatio.cpu
컨테이너의 최대 제한 대 요청 비율을 지정합니다.
이미지 제한

제한 범위를 사용하면 OpenShift 이미지 레지스트리로 내보낼 수 있는 이미지의 최대 크기를 지정할 수 있습니다.

OpenShift 이미지 레지스트리로 이미지를 내보내는 경우 다음 요구 사항이 충족되어야 합니다.

  • 이미지 크기가 LimitRange 오브젝트에 지정된 이미지의 max 크기보다 작거나 같아야 합니다.

이미지 LimitRange 오브젝트 정의

apiVersion: "v1"
kind: "LimitRange"
metadata:
  name: "resource-limits"
spec:
  limits:
    - type: openshift.io/Image
      max:
        storage: 1Gi

다음과 같습니다.

metadata.name
제한 범위 오브젝트의 이름을 지정합니다.
spec.limit.max.storage
OpenShift 이미지 레지스트리로 내보낼 수 있는 이미지의 최대 크기를 지정합니다.
주의

업로드된 이미지의 매니페스트에서 이미지 크기를 항상 사용할 수 있는 것은 아닙니다. 특히 Docker 1.10 이상으로 빌드하여 v2 레지스트리로 내보낸 이미지의 경우 그러합니다. 이전 Docker 데몬을 사용하여 이러한 이미지를 가져오면 레지스트리에서 이미지 매니페스트를 모든 크기 정보가 없는 스키마 v1로 변환합니다. 이미지에 스토리지 제한이 설정되어 있지 않아 업로드할 수 없습니다.

이 문제가 해결되고 있습니다.

이미지 스트림 제한

제한 범위를 사용하면 이미지 스트림에 대한 제한을 지정할 수 있습니다.

각 이미지 스트림에 대해 다음 요구 사항이 충족되어야 합니다.

  • imagestream.spec.tags 에서 파생된 고유 참조 수가 LimitRange 오브젝트의 openshift.io/image-tags 제약 조건보다 작거나 같아야 합니다.
  • imagestream.status.tags 에 기록된 고유한 이미지 ID 수는 LimitRange 오브젝트의 openshift.io/images 제약 조건보다 작거나 같아야 합니다.
중요

이름 openshift.io/image-tagsopenshift.io/images 는 태그당 최대 이미지 수와 최대 태그 이름 수를 의미하지 않습니다. 첫 번째 제한은 ImageStream spec.tags 리소스의 태그 정의 및 해당 참조에 적용됩니다. 두 번째는 ImageStream status.tags 리소스에 기록된 고유한 확인된 이미지(일반적으로 다이제스트로)에 적용됩니다. OpenShift 이미지 레지스트리로 푸시하는 등 태그를 생성하거나 업데이트하는 것은 제한을 초과하는 경우 거부할 수 있습니다.

이미지 스트림 LimitRange 오브젝트 정의

apiVersion: "v1"
kind: "LimitRange"
metadata:
  name: "resource-limits"
spec:
  limits:
    - type: openshift.io/ImageStream
      max:
        openshift.io/image-tags: 20
        openshift.io/images: 30

다음과 같습니다.

metadata.name
LimitRange 오브젝트의 이름을 지정합니다.
spec.limit.max.openshift.io/image-tags
imagestream.spec.tags 의 태그 정의에서 계산되는 최대 고유 참조 수를 지정합니다.
spec.limit.max.openshift.io/images
imagestream.status.tags 에 기록된 최대 고유 이미지 ID( 다이제스트와 동일한 이미지 이름) 수를 지정합니다.

openshift.io/image-tags 제한은 imagestream.spec.tags 의 항목에서 고유한 참조를 계산합니다. 참조는 ImageStreamTag,ImageStreamImage 또는 DockerImage 일 수 있습니다. oc tag 또는 oc import-image 를 사용하여 태그 정의를 추가할 수 있습니다. 내부 및 외부 참조는 동일하게 처리되며 사양의 각 고유 참조는 한 번 계산됩니다. 업데이트가 제한을 초과한 경우 업데이트가 OpenShift 이미지 레지스트리로 푸시되어 발생하는 경우를 포함하여 요청이 거부됩니다.

openshift.io/images 제한은 imagestream.status.tags 의 고유 이미지 ID를 계산하고 이미지 스트림의 상태에 유지할 수 있는 개별 이미지 수를 제한합니다. 내부 및 외부 참조는 구분되지 않습니다.

영구 볼륨 클레임 제한

제한 범위를 사용하면 PVC(영구 볼륨 클레임)에서 요청된 스토리지를 제한할 수 있습니다.

프로젝트의 모든 영구 볼륨 클레임에서 다음 요구 사항이 충족되어야 합니다.

  • PVC(영구 볼륨 클레임)의 리소스 요청이 LimitRange 오브젝트에 지정된 PVC의 min 제약 조건보다 크거나 같아야 합니다.
  • PVC(영구 볼륨 클레임)의 리소스 요청이 LimitRange 오브젝트에 지정된 PVC의 max 제약 조건보다 작거나 같아야 합니다.

PVC LimitRange 오브젝트 정의

apiVersion: "v1"
kind: "LimitRange"
metadata:
  name: "resource-limits"
spec:
  limits:
    - type: "PersistentVolumeClaim"
      min:
        storage: "2Gi"
      max:
        storage: "50Gi"

다음과 같습니다.

metadata.name
LimitRange 오브젝트의 이름을 지정합니다.
spec.limit.min.storage
영구 볼륨 클레임에서 요청할 수 있는 최소 스토리지 양을 지정합니다.
spec.limit.max.storage
영구 볼륨 클레임에서 요청할 수 있는 최대 스토리지 양을 지정합니다.
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 문서 정보

Legal Notice

Theme

© 2026 Red Hat
맨 위로 이동