5.10. Azure Disk CSI Driver Operator
5.10.1. 개요
OpenShift Container Platform은 Microsoft Azure Disk Storage용 CSI(Container Storage Interface) 드라이버를 사용하여 PV(영구 볼륨)를 프로비저닝할 수 있습니다.
CSI Operator 및 드라이버를 사용할 때는 영구 스토리지 및 CSI 볼륨 구성에 대해 숙지하는 것이 좋습니다.
Azure Disk 스토리지 자산에 마운트되는 CSI 프로비저닝 PV를 생성하기 위해 OpenShift Container Platform은 openshift-cluster-csi-drivers
네임스페이스에 기본적으로 Azure Disk CSI Driver Operator 및 Azure Disk CSI 드라이버를 설치합니다.
-
Azure Disk CSI Driver Operator 는 PVC(영구 볼륨 클레임)를 생성하는 데 사용할 수 있는
managed-csi
라는 스토리지 클래스를 제공합니다. Azure Disk CSI Driver Operator는 필요에 따라 스토리지 볼륨을 생성할 수 있도록 하여 클러스터 관리자가 스토리지를 사전 프로비저닝할 필요가 없어 동적 볼륨 프로비저닝을 지원합니다. - Azure Disk CSI 드라이버를 사용하면 Azure Disk PV를 생성 및 마운트할 수 있습니다.
5.10.2. CSI 정보
스토리지 벤더는 일반적으로 Kubernetes의 일부로 스토리지 드라이버를 제공합니다. CSI(Container Storage Interface) 구현을 통해 타사 공급자는 코어 Kubernetes 코드를 변경하지 않고도 표준 인터페이스를 사용하여 스토리지 플러그인을 제공할 수 있습니다.
CSI Operator는 in-tree 볼륨 플러그인에서 사용할 수 없는 볼륨 스냅샷과 같은 OpenShift Container Platform 사용자 스토리지 옵션을 제공합니다.
OpenShift Container Platform은 기본적으로 in-tree (비 CSI) 플러그인을 사용하여 Azure Disk 스토리지를 프로비저닝합니다.
향후 OpenShift Container Platform 버전에서는 기존 in-tree 플러그인을 사용하여 프로비저닝된 볼륨이 동등한 CSI 드라이버로 마이그레이션할 계획입니다. CSI 자동 마이그레이션이 원활해야 합니다. 마이그레이션은 영구 볼륨, 영구 볼륨 클레임 및 스토리지 클래스와 같은 기존 API 오브젝트를 사용하는 방법을 변경하지 않습니다. 마이그레이션에 대한 자세한 내용은 CSI 자동 마이그레이션을 참조하십시오.
전체 마이그레이션 후 in-tree 플러그인은 결국 이후 버전의 OpenShift Container Platform에서 제거됩니다.
5.10.3. 스토리지 계정 유형을 사용하여 스토리지 클래스 생성
스토리지 클래스는 스토리지 수준 및 사용량을 구분하고 조정하는 데 사용됩니다. 스토리지 클래스를 정의하면 동적으로 프로비저닝된 영구 볼륨을 얻을 수 있습니다.
스토리지 클래스를 생성할 때 스토리지 계정 유형을 지정할 수 있습니다. 이는 Azure 스토리지 계정 SKU 계층에 해당합니다. 유효한 옵션은 Standard_LRS
,Premium_LRS
,StandardSSD_LRS
,UltraSSD_LRS
,Premium_ZRS
및 StandardSSD_ZRS
입니다. Azure SKU 계층을 찾는 방법에 대한 자세한 내용은 SKU 유형을 참조하십시오.
ZRS에는 몇 가지 영역 제한 사항이 있습니다. 이러한 제한 사항에 대한 자세한 내용은 ZRS 제한 사항을 참조하십시오.
사전 요구 사항
- 관리자 권한이 있는 OpenShift Container Platform 클러스터에 액세스
절차
다음 단계를 사용하여 스토리지 계정 유형의 스토리지 클래스를 생성합니다.
다음과 유사한 YAML 파일을 사용하여 스토리지 계정 유형을 지정하는 스토리지 클래스를 생성합니다.
$ oc create -f - << EOF apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: <storage-class> 1 provisioner: disk.csi.azure.com parameters: skuName: <storage-class-account-type> 2 reclaimPolicy: Delete volumeBindingMode: WaitForFirstConsumer allowVolumeExpansion: true EOF
스토리지 클래스를 나열하여 스토리지 클래스가 생성되었는지 확인합니다.
$ oc get storageclass
출력 예
$ oc get storageclass NAME PROVISIONER RECLAIMPOLICY VOLUMEBINDINGMODE ALLOWVOLUMEEXPANSION AGE azurefile-csi file.csi.azure.com Delete Immediate true 68m managed-csi (default) disk.csi.azure.com Delete WaitForFirstConsumer true 68m sc-prem-zrs disk.csi.azure.com Delete WaitForFirstConsumer true 4m25s 1
- 1
- 스토리지 계정 유형의 새 스토리지 클래스입니다.