Kubernetes 객체를 사용하여 AWS의 GKE에서 실행되는 워크로드용 영구 스토리지를 만듭니다.
GKE on AWS 워크로드에 영구 스토리지 사용
AWS용 GKE에서는 Kubernetes PersistentVolume(PV), PersistentVolumeClaim(PVC), StorageClass 리소스를 사용하여 영구 파일 및 블록 스토리지를 워크로드에 제공합니다. 사용자 클러스터 버전 1.17 이상에서는 VolumeSnapshot 및 VolumeSnapshotClass 리소스를 사용하여 영구 스토리지의 스냅샷을 만들 수 있습니다. 스냅샷은 AWS 계정에 저장됩니다.
StorageClass
사용자 클러스터에는 AWS Elastic Block Storage(EBS) 볼륨의 워크로드용 스테이트풀(Stateful) 스토리지를 동적으로 프로비저닝하는 기본 Kubernetes StorageClass가 있습니다. 다른 StorageClass를 사용하여 기타 유형의 볼륨을 프로비저닝할 수도 있습니다. 이러한 옵션은 다음 섹션에 설명되어 있습니다.
VolumeSnapshotClass
사용자 클러스터에는 AWS Elastic Block Storage(EBS) 볼륨에 스테이트풀(Stateful) 스토리지 스냅샷을 만드는 기본 Kubernetes VolumeSnapshotClass가 있습니다.
클러스터 스토리지 구성
기본이 아닌 StorageClass로 스토리지 볼륨을 프로비저닝하려면 다른 매개변수 또는 다른 스토리지 드라이버를 사용하는 클러스터에 새 StorageClass를 만들 수 있습니다. 그런 다음 StorageClass를 클러스터의 기본값으로 설정하거나 StorageClass를 사용하도록 워크로드를 구성할 수 있습니다. 예를 들어 StatefulSet를 사용하여 특정 StorageClass 이름을 설정할 수 있습니다.
볼륨 스냅샷 사용
Kubernetes 버전 1.17 이상에서는 VolumeSnapshot 리소스를 사용하여 스토리지 볼륨의 스냅샷을 만들 수 있습니다. 그런 다음 이러한 스냅샷에서 새 영구 볼륨을 프로비저닝할 수 있습니다.
Elastic Block Storage(EBS)
AWS용 GKE는 aws-ebs-csi-driver를 사용하여 AWS EBS 볼륨을 관리합니다.
EBS CSI 드라이버 버전은 AWS용 GKE Kubernetes 버전과 연결되어 있습니다. 사용자 클러스터 버전을 업그레이드하면 새 드라이버 버전이 자동으로 적용됩니다. 이 버전은 일반적으로 AWS용 GKE 버전이 출시될 때 사용할 수 있는 최신 드라이버입니다.
AWS용 GKE로 사전 설치된 드라이버는 기본적으로 다음과 같은 StorageClass를 제공합니다.
standard-rwo
(기본값): EBSgp2
볼륨 프로비저닝에 사용됩니다.premium-rwo
: EBSio1
볼륨 프로비저닝에 사용됩니다.
EBS 볼륨은 Kubernetes ReadWriteOnce 액세스 모드를 지원합니다.
기존 EBS 볼륨
GKE on AWS 워크로드에서 기존 EBS 볼륨을 프로비저닝할 수 있습니다. AWS용 GKE에서 EBS 볼륨을 사용하는 방법에 대한 예시는 기존 EBS 볼륨 가져오기를 참조하세요.
Elastic File System(EFS)
AWS용 GKE 버전 1.6 이상은 기존 AWS EFS 파일 시스템 및 액세스 포인트를 마운트할 수 있도록 지원합니다. 자세한 내용은 EFS 사용을 참조하세요.
추가 스토리지 옵션
타사 컨테이너 스토리지 인터페이스(CSI) 드라이버(권장) 또는 트리 내 Kubernetes 볼륨 플러그인을 통해 다른 타사 스토리지 시스템을 GKE on AWS와 함께 사용할 수 있습니다.
CSI 드라이버
컨테이너 스토리지 인터페이스(CSI)는 Kubernetes에서 임의의 스토리지 시스템을 컨테이너화된 워크로드에 연결할 수 있도록 하는 개방형 표준 API입니다. 일부 CSI 드라이버 목록은 Kubernetes CSI 개발자 문서에서 확인할 수 있습니다. GKE on AWS는 CSI v1.x를 지원합니다.
클러스터에 CSI 드라이버를 사용하려면 스토리지 공급업체에서 제공하는 CSI 드라이버를 설치해야 합니다. 그런 다음 드라이버의 StorageClass를 사용하도록 워크로드를 구성하거나 기본 StorageClass로 설정할 수 있습니다.
AWS 전용 스토리지 드라이버
다음 볼륨 드라이버는 AWS용 GKE와 함께 사용할 수 있습니다.
Lustre용 FSx(FSX)
GKE on AWS는 FSx 볼륨을 직접 관리하지 않습니다. aws-fsx-csi-driver를 수동으로 설치할 수 있지만 Google에서는 지원하지 않습니다.
Kubernetes 트리 내 볼륨 플러그인
Kubernetes에는 트리 내(기본 제공) 볼륨 플러그인이 함께 제공됩니다. 지원되는 트리 내 드라이버에는 다음이 포함됩니다.
- configMap
- emptyDir
- hostPath
- nfs
- projected
- secrets
다음 단계
- 워크로드로 StorageClass 사용 알아보기
- 기존 EBS 볼륨을 GKE on AWS로 가져오기
- GKE의 영구 볼륨 알아보기
- GKE의 볼륨 스냅샷 알아보기
- Kubernetes 스토리지 클래스 문서 읽어보기
- 컨테이너 스토리지 인터페이스 출시 공지 읽어보기