티스토리 뷰
PVC(PV)의 용량이 부족할 경우 pvc를 확장 할수 있다
일반적으로 이 기능은 스토리지에서 지원해야 하며 ebs의 경우 기본 지원함
스토리지 클래스 내에 allowVolumExpansion이 true상태여야만 한다(기본값에는 아래값 없으므로 edit로 수정하여주면 됨)
allowVolumeExpansion: true
kubectl get pvc -n scylla
NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE
data-pet-i-pet-i-scylla-pet-i-scylla-dev-1 Bound pvc-02f89b78-be9e-4e6e-bf54-8abfa6e86978 5Gi RWO gp2 16h
kubectl exec -it -n scylla pet-i-pet-i-scylla-pet-i-scylla-dev-1 -- df -h
Defaulted container "scylla" out of: scylla, scylla-manager-agent, sidecar-injection (init)
Filesystem Size Used Avail Use% Mounted on
overlay 50G 4.9G 46G 10% /
tmpfs 64M 0 64M 0% /dev
tmpfs 7.8G 0 7.8G 0% /sys/fs/cgroup
/dev/nvme0n1p1 50G 4.9G 46G 10% /tmp/coredumps
tmpfs 7.8G 0 7.8G 0% /mnt/scylla-client-config
shm 64M 0 64M 0% /dev/shm
/dev/nvme2n1 4.8G 87M 4.7G 2% /var/lib/scylla
tmpfs 7.8G 12K 7.8G 1% /run/secrets/kubernetes.io/serviceaccount
tmpfs 7.8G 0 7.8G 0% /proc/acpi
tmpfs 7.8G 0 7.8G 0% /sys/firmware
확장 대상 pvc와 파드는 위내용과 같다
현재 pvc는 5g이며 파드내 /var/lib/scylla에 마운트 되어있는데 이것을 10G로 확장 해봄
kubectl patch -n scylla pvc/data-pet-i-pet-i-scylla-pet-i-scylla-dev-1 -p '{"spec":{"resources":{"requests":{"storage":"10Gi"}}}}}'
persistentvolumeclaim/data-pet-i-pet-i-scylla-pet-i-scylla-dev-1 patched
위와 같이 patch로 10g로 확장함(에디트로해도 무관)
ebs의 경우 확장하는데 시간이 좀 소요되며 용량이 크면 클수록 이 시간은 오래 걸린다
event확인
Type Status LastProbeTime LastTransitionTime Reason Message
---- ------ ----------------- ------------------ ------ -------
FileSystemResizePending True Mon, 01 Jan 0001 00:00:00 +0000 Wed, 23 Mar 2022 10:20:20 +0900 Waiting for user to (re-)start a pod to finish file system resize of volume on node.
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Normal FileSystemResizeSuccessful 10s kubelet MountVolume.NodeExpandVolume succeeded for volume "pvc-02f89b78-be9e-4e6e-bf54-8abfa6e86978"
완료시
kubectl get pvc/data-pet-i-pet-i-scylla-pet-i-scylla-dev-1 -n scylla
NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE
data-pet-i-pet-i-scylla-pet-i-scylla-dev-1 Bound pvc-02f89b78-be9e-4e6e-bf54-8abfa6e86978 10Gi RWO gp2 16h
위와같이 확장 된것을 확인 할 수있으며
kubectl exec -it -n scylla pet-i-pet-i-scylla-pet-i-scylla-dev-1 -- df -h
Defaulted container "scylla" out of: scylla, scylla-manager-agent, sidecar-injection (init)
Filesystem Size Used Avail Use% Mounted on
overlay 50G 4.9G 46G 10% /
tmpfs 64M 0 64M 0% /dev
tmpfs 7.8G 0 7.8G 0% /sys/fs/cgroup
/dev/nvme0n1p1 50G 4.9G 46G 10% /tmp/coredumps
tmpfs 7.8G 0 7.8G 0% /mnt/scylla-client-config
shm 64M 0 64M 0% /dev/shm
/dev/nvme2n1 9.8G 89M 9.7G 1% /var/lib/scylla
tmpfs 7.8G 12K 7.8G 1% /run/secrets/kubernetes.io/serviceaccount
tmpfs 7.8G 0 7.8G 0% /proc/acpi
tmpfs 7.8G 0 7.8G 0% /sys/firmware
파드에도 별다른 조작없이 적용된것을 확인 할 수 있다
'클라우드 > 쿠버네티스' 카테고리의 다른 글
EKS의 CNI비교 및 선택 (0) | 2022.05.24 |
---|---|
secret data 수동으로 base64인코딩시 주의점 (0) | 2022.05.24 |
Pod 스케쥴링 전략 (0) | 2022.05.24 |
Configmap과 Secret (0) | 2022.05.24 |
Internal LoadBalancer 생성하기 (0) | 2022.05.24 |