3.4. 영구 볼륨 클레임


PersistentVolumeClaim 오브젝트에는 specstatus가 포함되며, 이는 PVC(영구 볼륨 클레임)의 사양과 상태이고, 예를 들면 다음과 같습니다.

PersistentVolumeClaim 오브젝트 정의 예

kind: PersistentVolumeClaim
apiVersion: v1
metadata:
  name: myclaim 
1

spec:
  accessModes:
    - ReadWriteOnce 
2

  resources:
    requests:
      storage: 8Gi 
3

  storageClassName: gold 
4

status:
  ...
Copy to Clipboard Toggle word wrap

1
PVC의 이름입니다.
2
읽기-쓰기 및 마운트 권한을 정의하는 액세스 모드입니다.
3
PVC에서 사용할 수 있는 스토리지 용량입니다.
4
클레임에 필요한 StorageClass 의 이름입니다.

3.4.1. 스토리지 클래스

선택 사항으로 클레임은 storageClassName 속성에 스토리지 클래스의 이름을 지정하여 특정 스토리지 클래스를 요청할 수 있습니다. PVC와 storageClassName이 동일하고 요청된 클래스의 PV만 PVC에 바인딩할 수 있습니다. 클러스터 관리자는 동적 프로비저너를 구성하여 하나 이상의 스토리지 클래스에 서비스를 제공할 수 있습니다. 클러스터 관리자는 PVC의 사양과 일치하는 PV를 생성할 수 있습니다.

중요

클러스터 스토리지 작업자는 사용 중인 플랫폼에 따라 기본 스토리지 클래스를 설치할 수 있습니다. 이 스토리지 클래스는 Operator가 소유하고 제어합니다. 주석 및 레이블 정의 외에는 삭제하거나 변경할 수 없습니다. 다른 동작이 필요한 경우 사용자 정의 스토리지 클래스를 정의해야 합니다.

클러스터 관리자는 모든 PVC의 기본 스토리지 클래스도 설정할 수도 있습니다. 기본 스토리지 클래스가 구성된 경우 PVC는 ""로 설정된 StorageClass 또는 storageClassName 주석이 스토리지 클래스를 제외하고 PV에 바인딩되도록 명시적으로 요청해야 합니다.

참고

두 개 이상의 스토리지 클래스가 기본값으로 표시되면 storageClassName이 명시적으로 지정된 경우에만 PVC를 생성할 수 있습니다. 따라서 1개의 스토리지 클래스만 기본값으로 설정해야 합니다.

3.4.2. 액세스 모드

클레임은 특정 액세스 모드로 스토리지를 요청할 때 볼륨과 동일한 규칙을 사용합니다.

3.4.3. 리소스

Pod와 같은 클레임은 특정 리소스 수량을 요청할 수 있습니다. 이 경우 요청은 스토리지에 대한 요청입니다. 동일한 리소스 모델이 볼륨 및 클레임에 적용됩니다.

3.4.4. 클레임을 볼륨으로

클레임을 볼륨으로 사용하여 Pod 액세스 스토리지 클레임은 클레임을 사용하는 포드와 동일한 네임스페이스에 존재해야 합니다. 클러스터는 Pod의 네임스페이스에서 클레임을 검색하고 이를 사용하여 클레임을 지원하는 PersistentVolume을 가져옵니다. 볼륨은 호스트에 마운트되며, 예를 들면 다음과 같습니다.

호스트 및 Pod에 볼륨 마운트 예

kind: Pod
apiVersion: v1
metadata:
  name: mypod
spec:
  containers:
    - name: myfrontend
      image: dockerfile/nginx
      volumeMounts:
      - mountPath: "/var/www/html" 
1

        name: mypd 
2

  volumes:
    - name: mypd
      persistentVolumeClaim:
        claimName: myclaim 
3
Copy to Clipboard Toggle word wrap

1
Pod 내부에 볼륨을 마운트하는 경로입니다.
2
마운트할 볼륨의 이름입니다. 컨테이너 루트, / 또는 호스트와 컨테이너에서 동일한 경로에 마운트하지 마십시오. 컨테이너가 호스트 /dev/pts 파일과 같이 충분한 권한이 있는 경우 호스트 시스템이 손상될 수 있습니다. /host를 사용하여 호스트를 마운트하는 것이 안전합니다.
3
동일한 네임스페이스에 있는 사용할 PVC의 이름입니다.

3.4.5. PVC 사용 통계 보기

영구 볼륨 클레임(PVC)에 대한 사용 통계를 볼 수 있습니다.

중요

PVC 사용 통계 명령은 기술 미리보기 기능일 뿐입니다. 기술 프리뷰 기능은 Red Hat 프로덕션 서비스 수준 계약(SLA)에서 지원되지 않으며 기능적으로 완전하지 않을 수 있습니다. 따라서 프로덕션 환경에서 사용하는 것은 권장하지 않습니다. 이러한 기능을 사용하면 향후 제품 기능을 조기에 이용할 수 있어 개발 과정에서 고객이 기능을 테스트하고 피드백을 제공할 수 있습니다.

Red Hat 기술 프리뷰 기능의 지원 범위에 대한 자세한 내용은 기술 프리뷰 기능 지원 범위를 참조하십시오.

3.4.5.1. PVC 사용 통계를 보려면 사용자 권한이 필요합니다.

PVC 사용 통계를 보려면 필요한 권한이 있어야 합니다.

필요한 권한으로 로그인하려면:

  • 관리자 권한이 있는 경우 관리자로 로그인하세요.
  • 관리자 권한이 없는 경우:

    1. 다음 명령을 실행하여 클러스터 역할을 만들고 사용자에게 추가하세요.

      $ oc create clusterrole routes-view --verb=get,list --resource=routes
      $ oc adm policy add-cluster-role-to-user routes-view <user-name> 
      1
      
      $ oc adm policy add-cluster-role-to-user cluster-monitoring-view <user-name> 
      2
      Copy to Clipboard Toggle word wrap
      1 2
      사용자의 이름.

3.4.5.2. PVC 사용 통계 보기

  • 클러스터 전체의 통계를 보려면 다음 명령을 실행하세요.

    $ oc adm top pvc -A
    Copy to Clipboard Toggle word wrap

    예제 명령 출력

    NAMESPACE     NAME         USAGE(%)
    namespace-1   data-etcd-1  3.82%
    namespace-1   data-etcd-0  3.81%
    namespace-1   data-etcd-2  3.81%
    namespace-2   mypvc-fs-gp3 0.00%
    default       mypvc-fs     98.36%
    Copy to Clipboard Toggle word wrap

  • 지정된 네임스페이스에 대한 PVC 사용 통계를 보려면 다음 명령을 실행하세요.

    $ oc adm top pvc -n <namespace-name> 
    1
    Copy to Clipboard Toggle word wrap
    1
    여기서 <네임스페이스 이름> 은 지정된 네임스페이스의 이름입니다.

    예제 명령 출력

    NAMESPACE     NAME        USAGE(%)
    namespace-1   data-etcd-2 3.81% 
    1
    
    namespace-1   data-etcd-0 3.81%
    namespace-1   data-etcd-1 3.82%
    Copy to Clipboard Toggle word wrap

    1
    이 예에서 지정된 네임스페이스는 namespace-1 입니다.
  • 지정된 PVC와 지정된 네임스페이스에 대한 사용 통계를 보려면 다음 명령을 실행하세요.

    $ oc adm top pvc <pvc-name> -n <namespace-name> 
    1
    Copy to Clipboard Toggle word wrap
    1
    여기서 <pvc-name> 은 지정된 PVC의 이름이고 <namespace-name>은 지정된 네임스페이스의 이름입니다.

    예제 명령 출력

    NAMESPACE   NAME        USAGE(%)
    namespace-1 data-etcd-0 3.81% 
    1
    Copy to Clipboard Toggle word wrap

    1
    이 예에서 지정된 네임스페이스는 namespace-1 이고 지정된 PVC는 data-etcd-0 입니다.

3.4.6. 볼륨 속성 클래스

볼륨 속성 클래스는 관리자가 제공하는 저장소 "클래스"를 설명할 수 있는 방법을 제공합니다. 다양한 클래스는 다양한 서비스 품질 수준에 해당할 수 있습니다.

중요

볼륨 속성 클래스는 기술 미리 보기 기능일 뿐입니다. 기술 프리뷰 기능은 Red Hat 프로덕션 서비스 수준 계약(SLA)에서 지원되지 않으며 기능적으로 완전하지 않을 수 있습니다. 따라서 프로덕션 환경에서 사용하는 것은 권장하지 않습니다. 이러한 기능을 사용하면 향후 제품 기능을 조기에 이용할 수 있어 개발 과정에서 고객이 기능을 테스트하고 피드백을 제공할 수 있습니다.

Red Hat 기술 프리뷰 기능의 지원 범위에 대한 자세한 내용은 기술 프리뷰 기능 지원 범위를 참조하십시오.

OpenShift Container Platform의 볼륨 속성 클래스는 AWS Elastic Block Storage(EBS) 및 Google Cloud Platform(GCP) 영구 디스크(PD) 컨테이너 스토리지 인터페이스(CSI)에서만 사용할 수 있습니다.

영구 볼륨 클레임(PVC)에 볼륨 속성 클래스를 적용할 수 있습니다. 클러스터에서 새로운 볼륨 속성 클래스를 사용할 수 있게 되면 사용자는 필요에 따라 새로운 볼륨 속성 클래스로 PVC를 업데이트할 수 있습니다.

볼륨 속성 클래스에는 해당 클래스에 속한 볼륨을 설명하는 매개변수가 있습니다. 매개변수를 생략하면 볼륨 프로비저닝 시 기본값이 사용됩니다. 매개변수가 생략된 다른 볼륨 속성 클래스로 PVC를 적용하는 경우 CSI 드라이버 구현에 따라 매개변수의 기본값이 사용될 수 있습니다. 자세한 내용은 관련 CSI 드라이버 문서를 참조하세요.

3.4.6.1. 제한

볼륨 속성 클래스에는 다음과 같은 제한 사항이 있습니다.

  • GCP PD를 사용하면 볼륨 속성 클래스를 사용한 볼륨 수정은 하이퍼디스크 균형 디스크 유형에만 가능합니다.
  • VolumeAttributesClass 에 대해 정의할 수 있는 매개변수는 최대 512개입니다.
  • 키와 값을 포함한 매개변수 객체의 총 길이는 256KiB를 초과할 수 없습니다.
  • PVC에 볼륨 속성 클래스를 적용하는 경우 해당 PVC에 적용된 볼륨 속성 클래스를 변경할 수 있지만 PVC에서 삭제할 수는 없습니다. PVC에서 볼륨 속성 클래스를 삭제하려면 PVC를 삭제한 다음 PVC를 다시 만들어야 합니다.
  • 볼륨 속성 클래스 매개변수는 편집할 수 없습니다. Volume Attributes Class 매개변수를 변경해야 하는 경우 원하는 매개변수를 사용하여 새 Volume Attributes Class를 생성한 다음 PVC에 적용합니다.

3.4.6.2. 볼륨 속성 클래스 활성화

볼륨 속성 클래스는 기본적으로 활성화되어 있지 않습니다.

볼륨 속성 클래스를 활성화하려면 FeatureGates를 사용하여 OpenShift Container Platform 기능 활성화 섹션의 절차를 따르십시오.

3.4.6.3. 볼륨 속성 클래스 정의

다음은 AWS EBS의 Volume Attributes Class YAML 파일의 예입니다.

VolumeAttributesClass AWE EBS 정의 예

apiVersion: storage.k8s.io/v1beta1
kind: VolumeAttributesClass 
1

metadata:
  name: silver 
2

driverName: ebs.csi.aws.com 
3

parameters:
  iops: "300"
  throughput: "125"
  type: io2 
4

  ...
Copy to Clipboard Toggle word wrap

1
오브젝트를 Volumes 속성 클래스로 정의합니다.
2
VolumeAttributesClass 의 이름입니다. 이 예제에서는 "silver"입니다.
3
PV(영구 볼륨) 프로비저닝에 사용되는 볼륨 플러그인을 결정하는 프로비저너입니다. 이 예에서는 AWS EBS의 경우 "ebs.csi.aws.com"입니다.
4
디스크 유형

다음은 GPC PD용 Volume Attributes Class YAML 파일의 예입니다.

VolumeAttributesClass GPC PD 정의 예

apiVersion: storage.k8s.io/v1beta1
kind: VolumeAttributesClass 
1

metadata:
  name: silver 
2

driverName: pd.csi.storage.gke.io 
3

parameters:
  iops: "3000"
  throughput: "150Mi"
  ...
Copy to Clipboard Toggle word wrap

1
오브젝트를 Volumes 속성 클래스로 정의합니다.
2
VolumeAttributesClass 의 이름입니다. 이 예제에서는 "silver"입니다.
3
PV(영구 볼륨) 프로비저닝에 사용되는 볼륨 플러그인을 결정하는 프로비저너입니다. 이 예에서 GPC PD의 경우 "pd.csi.storage.gke.io"입니다.

3.4.6.4. PVC에 볼륨 속성 클래스 적용

새로 생성된 PVC 외에도 볼륨 속성 클래스를 사용하여 기존 바인딩된 PVC를 업데이트할 수도 있습니다.

PVC에 볼륨 속성 클래스를 적용하려면 다음을 수행합니다.

  • PVC의 volumeAttributesClassName 매개변수를 Volume Attributes Class의 이름으로 설정합니다.

    볼륨 속성 클래스를 지정하는 PVC 정의 예

    apiVersion: v1
    kind: PersistentVolumeClaim
    metadata:
      name: test-pv-claim
    spec:volumeAttributesClassName: silver 
    1
    Copy to Clipboard Toggle word wrap

    1
    이 PVC에 볼륨 속성 클래스 "silver"를 사용하여 지정합니다.

3.4.6.5. 볼륨 속성 클래스 삭제

PVC에서 사용하는 볼륨 속성 클래스를 삭제할 수 없습니다.

PVC에서 여전히 사용 중인 Volume Attributes 클래스를 삭제하려고 하면 볼륨 속성 클래스를 사용하는 모든 리소스가 업데이트되지 않을 때까지 명령이 완료되지 않습니다.

볼륨 속성 클래스를 삭제하려면 다음을 수행합니다.

  1. 다음 명령을 실행하여 볼륨 속성 클래스를 사용하는 PVC를 검색합니다.

    $ oc get pvc -A -o jsonpath='{range .items[?(@.spec.volumeAttributesClassName=="<vac-name>")]}{.metadata.name}{"\n"}{end}' 
    1
    Copy to Clipboard Toggle word wrap
    1
    <vac-name> = 볼륨 속성 클래스 이름

    샘플 명령 출력

    $ mypvc
    Copy to Clipboard Toggle word wrap

  2. 그 다음에는 다음 중 하나를 선택하세요.

    • PVC의 volumeAttributesClassName 매개변수에 다른 볼륨 속성 클래스 이름을 지정합니다.

      볼륨 속성 클래스를 지정하는 PVC 정의 예제

      apiVersion: v1
      kind: PersistentVolumeClaim
      metadata:
      name: mypvc
      spec:volumeAttributesClassName: silver 
      1
      Copy to Clipboard Toggle word wrap

      1
      다른 볼륨 속성 클래스를 지정합니다. 이 예에서는 "은"입니다.

      또는

    • 다음 명령을 실행하여 볼륨 속성 클래스를 지정하는 모든 PVC를 삭제합니다.

      $ oc delete pvc <pvc-name> 
      1
      Copy to Clipboard Toggle word wrap
      1
      삭제하려는 PVC의 이름입니다.
  3. 이제 볼륨 속성 클래스가 더 이상 PVC에서 사용되지 않으므로 다음 명령을 실행하여 볼륨 속성 클래스를 삭제합니다.

    $ oc delete vac <vac-name> 
    1
    Copy to Clipboard Toggle word wrap
    1
    삭제하려는 볼륨 속성 클래스의 이름입니다.
맨 위로 이동
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다. 최신 업데이트를 확인하세요.

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

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

Red Hat 소개

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

Theme

© 2025 Red Hat