8.3. 스토리지 클래스 정의


StorageClass 객체는 현재 전역 범위 객체이며 cluster-admin 또는 storage-admin 사용자가 만들어야 합니다.

중요

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

다음 섹션에서는 StorageClass 오브젝트의 기본 정의 및 지원되는 각 플러그인 유형에 대한 구체적인 예를 설명합니다.

8.3.1. 기본 StorageClass 개체 정의

다음 리소스는 스토리지 클래스를 구성하는 데 사용되는 매개변수 및 기본값을 보여줍니다. 이 예에서는 AWS ElasticBlockStore (EBS) 객체 정의를 사용합니다.

StorageClass 정의 예

kind: StorageClass 
1

apiVersion: storage.k8s.io/v1 
2

metadata:
  name: <storage-class-name> 
3

  annotations: 
4

    storageclass.kubernetes.io/is-default-class: 'true'
    ...
provisioner: kubernetes.io/aws-ebs 
5

parameters: 
6

  type: gp3
...
Copy to Clipboard Toggle word wrap

1
(필수) API 객체 유형입니다.
2
(필수) 현재 apiVersion입니다.
3
(필수) 스토리지 클래스의 이름입니다.
4
(선택 사항) 스토리지 클래스의 주석입니다.
5
(필수) 이 스토리지 클래스에 연결된 프로비저너의 유형입니다.
6
(선택 사항) 특정 프로비저너에 필요한 매개 변수로, 플러그인에 따라 변경됩니다.

8.3.2. 스토리지 클래스 주석

스토리지 클래스를 클러스터 전체 기본값으로 설정하려면 스토리지 클래스의 메타데이터에 다음 주석을 추가합니다.

storageclass.kubernetes.io/is-default-class: "true"
Copy to Clipboard Toggle word wrap

예를 들면 다음과 같습니다.

apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  annotations:
    storageclass.kubernetes.io/is-default-class: "true"
...
Copy to Clipboard Toggle word wrap

이렇게 하면 특정 스토리지 클래스를 지정하지 않은 모든 PVC(영구 볼륨 클레임)가 기본 스토리지 클래스를 통해 자동으로 프로비저닝됩니다. 그러나 클러스터에는 두 개 이상의 스토리지 클래스가 있을 수 있지만, 이 중 하나만 기본 스토리지 클래스일 수 있습니다.

참고

베타 주석 storageclass.beta.kubernetes.io/is-default-class는 여전히 작동하지만 향후 릴리스에서는 제거될 예정입니다.

스토리지 클래스 설명을 설정하려면 스토리지 클래스의 메타데이터에 다음 주석을 추가합니다.

kubernetes.io/description: My Storage Class Description
Copy to Clipboard Toggle word wrap

예를 들면 다음과 같습니다.

apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  annotations:
    kubernetes.io/description: My Storage Class Description
...
Copy to Clipboard Toggle word wrap

8.3.3. AWS Elastic Block Store (EBS) 객체 정의

aws-ebs-storageclass.yaml

kind: StorageClass
apiVersion: storage.k8s.io/v1
metadata:
  name: <storage-class-name> 
1

provisioner: ebs.csi.aws.com
parameters:
  type: io1 
2

  iopsPerGB: "10" 
3

  encrypted: "true" 
4

  kmsKeyId: keyvalue 
5

  fsType: ext4 
6
Copy to Clipboard Toggle word wrap

1
(필수) 스토리지 클래스의 이름입니다. 영구 볼륨 클래임은 이 스토리지 클래스를 사용하여 관련 영구 볼륨을 프로비저닝합니다.
2
(필수) io1,gp3,sc1,st1 에서 선택합니다. 기본값은 gp3 입니다. 유효한 Amazon Resource Name (ARN) 값은 AWS 설명서를 참조하십시오.
3
선택 사항: io1 볼륨만 해당합니다. GiB마다 초당 I/O 작업 수입니다. AWS 볼륨 플러그인은 요청된 볼륨 크기와 멀티플로우하여 볼륨의 IOPS를 계산합니다. 값의 상한은 AWS가 지원하는 최대치인 20,000 IOPS입니다. 자세한 내용은 AWS 설명서를 참조하십시오.
4
선택 사항: EBS 볼륨을 암호화할지 여부를 나타냅니다. 유효한 값은 true 또는 false입니다.
5
선택 사항: 볼륨을 암호화할 때 사용할 키의 전체 ARN입니다. 값을 지정하지 않는 경우에도 encyptedtrue로 설정되어 있는 경우 AWS가 키를 생성합니다. 유효한 ARN 값은 AWS 설명서를 참조하십시오.
6
선택 사항: 동적으로 프로비저닝된 볼륨에서 생성된 파일 시스템입니다. 이 값은 동적으로 프로비저닝된 영구 볼륨의 fsType 필드에 복사되며 볼륨이 처음 마운트될 때 파일 시스템이 작성됩니다. 기본값은 ext4입니다.

8.3.4. GCE PersistentDisk (gcePD) 오브젝트 정의

gce-pd-storageclass.yaml

apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  name: <storage-class-name> 
1

provisioner: kubernetes.io/gce-pd
parameters:
  type: pd-ssd 
2

  replication-type: none
volumeBindingMode: WaitForFirstConsumer
allowVolumeExpansion: true
reclaimPolicy: Delete
Copy to Clipboard Toggle word wrap

1
StorageClass의 이름입니다. 영구 볼륨 클래임은 이 스토리지 클래스를 사용하여 관련 영구 볼륨을 프로비저닝합니다.
2
pd-ssd,pd-standard 또는 hyperdisk-balanced 를 선택합니다. 기본값은 pd-ssd입니다.
맨 위로 이동
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

Theme

© 2025 Red Hat