7.3.6. Azure Disk 오브젝트 정의

azure-advanced-disk-storageclass.yaml

apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  name: managed-premium
provisioner: kubernetes.io/azure-disk
volumeBindingMode: WaitForFirstConsumer 1
allowVolumeExpansion: true
parameters:
  kind: Managed 2
  storageaccounttype: Premium_LRS 3
reclaimPolicy: Delete

1
WaitForFirstConsumer를 사용하는 것이 좋습니다. 이렇게 하면 볼륨을 프로비저닝하고 사용 가능한 영역에서 사용 가능한 작업자 노드의 Pod를 예약할 수 있는 충분한 스토리지를 허용합니다.
2
가능한 값은 Shared(기본값), Managed, Dedicated입니다.
중요

Red Hat은 kind 사용을 지원합니다. 스토리지 클래스에서 managed 입니다.

SharedDedicated를 사용하여 Azure는 관리되지 않은 디스크를 생성합니다. 반면 OpenShift Container Platform은 머신 OS(root) 디스크의 관리 디스크를 생성합니다. Azure Disk는 노드에서 관리 및 관리되지 않은 디스크를 모두 사용하도록 허용하지 않으므로 Shared 또는 Dedicated로 생성된 관리되지 않은 디스크를 OpenShift Container Platform 노드에 연결할 수 없습니다.

3
Azure 스토리지 계정 SKU층입니다. 기본값은 비어 있습니다. 프리미엄 VM은 Standard_LRSPremium_LRS 디스크를 모두 연결할 수 있으며 표준 VM은 Standard_LRS 디스크만 연결할 수 있습니다. 관리형 VM은 관리 디스크만 연결할 수 있으며 관리되지 않는 VM은 관리되지 않는 디스크만 연결할 수 있습니다.
  1. kindShared로 설정된 경우 Azure는 클러스터와 동일한 리소스 그룹에 있는 일부 공유 스토리지 계정에서 관리되지 않는 디스크를 만듭니다.
  2. kindManaged로 설정된 경우 Azure는 새 관리 디스크를 만듭니다.
  3. kindDedicated로 설정되고 storageAccount가 지정된 경우 Azure는 클러스터와 동일한 리소스 그룹에서 새로운 관리되지 않는 디스크에 대해 지정된 스토리지 계정을 사용합니다. 이 기능이 작동하려면 다음 사항이 전제가 되어야 합니다.

    • 지정된 스토리지 계정이 같은 지역에 있어야 합니다.
    • Azure Cloud Provider는 스토리지 계정에 대한 쓰기 권한이 있어야 합니다.
  4. kindDedicated로 설정되어 있고 storageAccount가 지정되지 않은 경우 Azure는 클러스터와 동일한 리소스 그룹에 새로운 관리되지 않는 디스크에 대한 새로운 전용 스토리지 계정을 만듭니다.