스토리지 개요

Kubernetes 객체를 사용하여 Azure용 GKE에서 실행되는 워크로드용 영구 스토리지를 만듭니다.

제어 영역 스토리지

클러스터를 만들 때 Azure용 GKE는 제어 영역 및 etcd 볼륨을 위한 프리미엄 SSD LRS 디스크를 프로비저닝합니다.

Azure용 GKE 워크로드에서 영구 스토리지 사용

Azure용 GKE에서는 Kubernetes PersistentVolume(PV), PersistentVolumeClaim(PVC), StorageClass 리소스를 사용하여 영구 파일 및 블록 스토리지를 워크로드에 제공합니다. VolumeSnapshotVolumeSnapshotClass 리소스를 사용하여 영구 스토리지의 스냅샷을 만들 수 있습니다. 스냅샷은 Azure 계정에 저장됩니다.

StorageClass

클러스터에는 Azure Disk Storage(AzureDisk) 볼륨의 워크로드용 스테이트풀(Stateful) 스토리지를 동적으로 프로비저닝하는 기본 Kubernetes StorageClass가 있습니다. 다른 StorageClass를 사용하여 기타 유형의 볼륨을 프로비저닝할 수도 있습니다. 이러한 옵션은 다음 섹션에 설명되어 있습니다.

Azure 스토리지 계정

Azure용 GKE는 클러스터가 생성될 때 Azure 스토리지 계정을 자동으로 만듭니다. 특정 스토리지 계정을 사용하려면 커스텀 스토리지 클래스를 만듭니다.

클러스터 스토리지 구성

기본이 아닌 StorageClass로 스토리지 볼륨을 프로비저닝하려면 다른 매개변수 또는 다른 스토리지 드라이버를 사용하는 클러스터에 새 StorageClass를 만들 수 있습니다. 그런 다음 StorageClass를 클러스터의 기본값으로 설정하거나 StorageClass를 사용하도록 워크로드를 구성할 수 있습니다. 예를 들어 StatefulSet를 사용하여 특정 StorageClass 이름을 설정할 수 있습니다.

Azure Disk Storage(AzureDisk)

Azure용 GKE는 azuredisk-csi-driverAzure Disk 볼륨을 관리합니다.

CSI 드라이버 버전은 Azure용 GKE Kubernetes 버전과 연결되어 있습니다. 클러스터 버전을 업그레이드할 때 Azure용 GKE는 드라이버 버전을 자동으로 업데이트합니다. 이 버전은 일반적으로 Azure용 GKE 버전이 출시될 때 사용 가능한 최신 드라이버입니다. 기존 Kubernetes kubernetes.io/azure-disk 볼륨 유형은 지원되지 않습니다.

Azure용 GKE로 사전 설치된 드라이버는 기본적으로 다음과 같은 StorageClass를 제공합니다.

  • standard-rwo(기본값): LRS로 표준 SSD Azure Disk를 프로비저닝하기 위해 사용됩니다.
  • premium-rwo: LRS로 프리미엄 SSD Azure Disk를 프로비저닝하기 위해 사용됩니다.

Azure Disk 볼륨은 Kubernetes ReadWriteOnce 액세스 코드를 지원합니다.

볼륨 스냅샷

VolumeSnapshot 리소스를 사용하여 스토리지 볼륨의 스냅샷을 만들 수 있습니다. 그런 다음 이러한 스냅샷에서 새 영구 볼륨을 프로비저닝할 수 있습니다.

볼륨 클론

CSI 볼륨 클론을 사용하여 기존 Azure Disk 볼륨을 클론할 수 있습니다. 자세한 내용은 볼륨 클론 예시를 참조하세요.

볼륨 크기 조절

볼륨 크기 조절로 연결되지 않은 Azure Disk 볼륨의 크기를 조절할 수 있습니다. 자세한 내용은 볼륨 크기 조절 예시를 참조하세요. 볼륨이 연결되고 마운트되는 동안에는 크기 조절이 지원되지 않습니다.

Azure 공유 디스크

공유된 원시 블록 디스크에 대해 쓰기를 조정하도록 디자인된 워크로드의 경우 Azure용 GKE가 Azure 공유 디스크를 지원합니다. 자세한 내용은 Azure Disk CSI 문서의 공유 디스크(멀티 노드 ReadWrite)를 참조하세요.

Azure File Storage(AzureFile)

Azure용 GKE는 azurefile-csi-driverAzure Files 볼륨을 관리합니다.

CSI 드라이버는 Azure용 GKE Kubernetes 버전과 연결되어 있습니다. 클러스터 버전을 업그레이드하면 새 드라이버 버전이 자동으로 적용됩니다. 이 버전은 일반적으로 Azure용 GKE 버전이 출시될 때 사용 가능한 최신 드라이버입니다. 기존 Kubernetes kubernetes.io/azure-file 볼륨 유형은 지원되지 않습니다.

Azure용 GKE로 사전 설치된 드라이버는 기본적으로 다음과 같은 StorageClass를 제공합니다.

  • standard-rwx: LRS로 표준 SSD Azure File 공유를 프로비저닝하기 위해 사용됩니다.
  • premium-rwx: LRS로 프리미엄 SSD Azure File 공유를 프로비저닝하기 위해 사용됩니다.

Azure File 볼륨은 Kubernetes ReadWriteMany 액세스 모드를 사용합니다.

볼륨 스냅샷

VolumeSnapshot 리소스를 사용하여 Azure File 볼륨의 스냅샷을 만들 수 있습니다. 자세한 내용은 Azure File 스냅샷 기능 문서를 참조하세요. 스냅샷을 복원하려면 Azure Portal을 사용합니다. 자세한 내용은 Azure File의 공유 스냅샷 개요를 참조하세요.

볼륨 크기 조절

볼륨 크기 조절로 Azure File 볼륨의 크기를 조절할 수 있습니다. 자세한 내용은 볼륨 크기 조절 예시를 참조하세요.

추가 스토리지 드라이버

타사 컨테이너 스토리지 인터페이스(CSI) 드라이버(권장) 또는 트리 내 Kubernetes 볼륨 플러그인을 통해 다른 타사 스토리지 시스템을 Azure용 GKE와 함께 사용할 수 있습니다.

CSI 드라이버

컨테이너 스토리지 인터페이스(CSI)는 Kubernetes에서 임의의 스토리지 시스템을 컨테이너화된 워크로드에 연결할 수 있도록 하는 개방형 표준 API입니다. 일부 CSI 드라이버 목록은 Kubernetes CSI 개발자 문서에서 확인할 수 있습니다. Azure용 GKE는 CSI v1.x를 지원합니다.

클러스터에 CSI 드라이버를 사용하려면 스토리지 공급업체에서 제공하는 CSI 드라이버를 설치해야 합니다. 그런 다음 드라이버의 StorageClass를 사용하도록 워크로드를 구성하거나 기본 StorageClass로 설정할 수 있습니다.

Azure 특정 스토리지 드라이버

다음 볼륨 드라이버는 Azure용 GKE와 함께 사용할 수 있습니다.

Azure용 GKE는 Azure Blob 스토리지를 직접 관리하지 않습니다. blob-csi-driver CSI 드라이버를 수동으로 설치할 수 있지만 Google에서 지원이 제공되지 않습니다.

Kubernetes 트리 내 볼륨 플러그인

Kubernetes에는 트리 내(기본 제공) 볼륨 플러그인이 함께 제공됩니다. 지원되는 트리 내 드라이버에는 다음이 포함됩니다.

  • configMap
  • emptyDir
  • hostPath
  • nfs
  • projected
  • secrets

다음 단계