PV 자동 확장
PVC 사용량이 설정한 임계값에 닿으면 Wave가 PVC를 늘립니다. 비율이나 고정 크기만큼 늘리고, 선택한 최대 용량(Max Capacity)에서 멈춥니다.
PVC가 100%에 닿아도, Kubernetes는 누군가 크기를 수정할 때까지 기다립니다
kubernetes.io, Persistent Volumes; Wave Auto Expansion 문서. 80%, +50%, 10 GiB는 문서 예시이며 여기서는 설명용입니다.
Kubernetes는 누가 요청할 때만 볼륨을 늘립니다. "PVC에 더 큰 볼륨을 요청하려면 PVC 오브젝트를 수정해 더 큰 크기를 지정합니다." 그것도 StorageClass의 allowVolumeExpansion이 true일 때만 됩니다(kubernetes.io).
Kubernetes에는 사용량을 보고 PVC를 대신 수정하는 기능이 없습니다. 또 Kubernetes는 PVC를 현재 크기보다 작게 줄일 수 없으므로(kubernetes.io), 자동으로 늘릴 때는 상한이 필요합니다.
PVC를 수정해 늘리는 방식: kubernetes.io, Persistent Volumes. 80%, +50%, 10에서 15, 22.5 GiB: Wave Auto Expansion 문서 예시. 사용량 곡선과 30 GiB 상한은 설명용입니다.
Wave가 하는 일
- PVC앱은 계속 씀
- 확인 없음담당자볼륨이 가득 찬 것을 발견
- 수정PVC spec더 큰 storage 요청
- 크기 변경볼륨StorageClass가 허용하면 커짐
- Wave Core몇 분마다 사용량 확인
- 임계값내 규칙+% 또는 고정 크기, 선택적 상한
- 새 크기StorageClass볼륨 확장을 허용해야 함
- 수정PVCCompleted 또는 실패 상태까지 추적
PVC마다 임계값을 정합니다
콘솔에서, 또는 WavePvcAutoExpansion Custom Resource로 확장을 시작할 사용률을 정합니다. 예를 들면 80%입니다. 임계값에는 기본값이 없으므로 PVC마다 직접 고릅니다.
얼마나 늘릴지 고릅니다
현재 크기의 비율만큼(예: 50%면 10 GiB에서 15 GiB로), 또는 고정 크기만큼 늘립니다. 선택 항목인 Max Capacity가 상한이 되고, Wave는 마지막 확장을 상한에 정확히 맞춥니다.
모든 시도를 확인합니다
Wave는 StorageClass가 확장을 허용하는지 확인한 뒤 PVC를 수정합니다. 로그에는 InProgress, Completed, 또는 ExpansionFailed나 MaxCapacityReached 같은 실패 상태가 남습니다. 스토리지에 따라 크기 변경을 마치려면 Pod 재시작이나 다운타임이 필요할 수 있습니다.