8.3. 스토리지 클래스 정의
StorageClass
객체는 현재 전역 범위 객체이며 cluster-admin
또는 storage-admin
사용자가 만들어야 합니다.
클러스터 스토리지 작업자는 사용 중인 플랫폼에 따라 기본 스토리지 클래스를 설치할 수 있습니다. 이 스토리지 클래스는 Operator가 소유하고 제어합니다. 주석 및 레이블 정의 외에는 삭제하거나 변경할 수 없습니다. 다른 동작이 필요한 경우 사용자 정의 스토리지 클래스를 정의해야 합니다.
다음 섹션에서는 StorageClass
오브젝트의 기본 정의 및 지원되는 각 플러그인 유형에 대한 구체적인 예를 설명합니다.
8.3.1. 기본 StorageClass 개체 정의 링크 복사링크가 클립보드에 복사되었습니다!
다음 리소스는 스토리지 클래스를 구성하는 데 사용되는 매개변수 및 기본값을 보여줍니다. 이 예에서는 AWS ElasticBlockStore (EBS) 객체 정의를 사용합니다.
StorageClass
정의 예
8.3.2. 스토리지 클래스 주석 링크 복사링크가 클립보드에 복사되었습니다!
스토리지 클래스를 클러스터 전체 기본값으로 설정하려면 스토리지 클래스의 메타데이터에 다음 주석을 추가합니다.
storageclass.kubernetes.io/is-default-class: "true"
storageclass.kubernetes.io/is-default-class: "true"
예를 들면 다음과 같습니다.
이렇게 하면 특정 스토리지 클래스를 지정하지 않은 모든 PVC(영구 볼륨 클레임)가 기본 스토리지 클래스를 통해 자동으로 프로비저닝됩니다. 그러나 클러스터에는 두 개 이상의 스토리지 클래스가 있을 수 있지만, 이 중 하나만 기본 스토리지 클래스일 수 있습니다.
베타 주석 storageclass.beta.kubernetes.io/is-default-class
는 여전히 작동하지만 향후 릴리스에서는 제거될 예정입니다.
스토리지 클래스 설명을 설정하려면 스토리지 클래스의 메타데이터에 다음 주석을 추가합니다.
kubernetes.io/description: My Storage Class Description
kubernetes.io/description: My Storage Class Description
예를 들면 다음과 같습니다.
8.3.3. AWS Elastic Block Store (EBS) 객체 정의 링크 복사링크가 클립보드에 복사되었습니다!
aws-ebs-storageclass.yaml
- 1
- (필수) 스토리지 클래스의 이름입니다. 영구 볼륨 클래임은 이 스토리지 클래스를 사용하여 관련 영구 볼륨을 프로비저닝합니다.
- 2
- 3
- 선택 사항: io1 볼륨만 해당합니다. GiB마다 초당 I/O 작업 수입니다. AWS 볼륨 플러그인은 요청된 볼륨 크기와 멀티플로우하여 볼륨의 IOPS를 계산합니다. 값의 상한은 AWS가 지원하는 최대치인 20,000 IOPS입니다. 자세한 내용은 AWS 설명서를 참조하십시오.
- 4
- 선택 사항: EBS 볼륨을 암호화할지 여부를 나타냅니다. 유효한 값은
true
또는false
입니다. - 5
- 선택 사항: 볼륨을 암호화할 때 사용할 키의 전체 ARN입니다. 값을 지정하지 않는 경우에도
encypted
가true
로 설정되어 있는 경우 AWS가 키를 생성합니다. 유효한 ARN 값은 AWS 설명서를 참조하십시오. - 6
- 선택 사항: 동적으로 프로비저닝된 볼륨에서 생성된 파일 시스템입니다. 이 값은 동적으로 프로비저닝된 영구 볼륨의
fsType
필드에 복사되며 볼륨이 처음 마운트될 때 파일 시스템이 작성됩니다. 기본값은ext4
입니다.
8.3.4. GCE PersistentDisk (gcePD) 오브젝트 정의 링크 복사링크가 클립보드에 복사되었습니다!
gce-pd-storageclass.yaml