피드로 돌아가기
Kubernetes BlogKubernetes Blog
Infrastructure

Kubernetes v1.34가 VolumeAttributesClass를 GA로 승격하며 CSI 드라이버를 통한 동적 볼륨 속성 변경 기능 제공

Kubernetes v1.34: VolumeAttributesClass for Volume Modification GA

2025년 9월 8일6intermediate

Context

기존에는 Kubernetes에서 persistent volume의 성능 파라미터(IOPS, 처리량, 볼륨 타입)를 변경하려면 외부 도구나 수동 프로세스에 의존했다. 클러스터 관리자가 스토리지 속성을 Kubernetes API를 통해 직접 관리할 수 없었다.

Technical Solution

  • VolumeAttributesClass를 cluster-scoped 리소스로 정의: 클러스터 관리자가 스토리지 QoS 레벨 및 성능 티어를 프로필로 미리 정의
  • PersistentVolumeClaim에서 volumeAttributesClassName 참조: 사용자가 원하는 속성 클래스를 명시적으로 지정
  • CSI 드라이버를 통한 동적 변경 적용: PVC 업데이트 시 CSI 드라이버가 기본 스토리지 시스템과 상호작용하여 변경사항 적용
  • 오류 발생 시 명시적 취소 지원(GA 신규): 스토리지 시스템 또는 CSI 드라이버에서 변경 불가능 신호 시 사용자가 작업 취소하여 볼륨을 이전 안정 상태로 복구
  • ResourceQuota의 scopeSelector를 활용한 할당량 제어: 특정 VolumeAttributesClass를 참조하는 PVC에 대한 할당량 강제 적용

Impact

Amazon EBS CSI Driver는 IOPS, 처리량, 볼륨 타입(gp2→gp3, io1→io2) 동적 변경을 지원한다. Google Compute Engine Persistent Disk CSI Driver(pd.csi.storage.gke.io)는 IOPS 및 처리량의 동적 변경을 지원한다.

Key Takeaway

VolumeAttributesClass의 GA 승격은 Kubernetes API를 통해 스토리지 파라미터를 runtime에 조정할 수 있게 하여, 외부 도구 의존성을 제거하고 데이터베이스 부하 변화에 따른 성능 티어 조정을 자동화 가능하게 한다.


Kubernetes에서 CSI 드라이버를 사용하는 환경에서 VolumeAttributesClass를 정의하고 PersistentVolumeClaim에서 참조하면, 애플리케이션 중단 없이 IOPS와 처리량을 동적으로 조정하여 업무 시간대별 성능 요구사항 변화에 즉시 대응할 수 있다.

원문 읽기