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_ZRSStandardSSD_ZRS 입니다. Azure SKU 계층을 찾는 방법에 대한 자세한 내용은 SKU 유형을 참조하십시오.

ZRS에는 몇 가지 영역 제한 사항이 있습니다. 이러한 제한 사항에 대한 자세한 내용은 ZRS 제한 사항을 참조하십시오.

사전 요구 사항

  • 관리자 권한이 있는 OpenShift Container Platform 클러스터에 액세스

절차

다음 단계를 사용하여 스토리지 계정 유형의 스토리지 클래스를 생성합니다.

  1. 다음과 유사한 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
    1
    스토리지 클래스 이름입니다.
    2
    스토리지 계정 유형. 이는 Azure 스토리지 계정 SKU 계층에 해당합니다. 즉, Premium_LRS, Premium_LRS,StandardSSD_LRS,UltraSSD_LRS,Premium_ZRS,StandardSSD_ZRS.
  2. 스토리지 클래스를 나열하여 스토리지 클래스가 생성되었는지 확인합니다.

    $ 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
    스토리지 계정 유형의 새 스토리지 클래스입니다.

5.10.4. 추가 리소스