У меня есть кластер AKS, и я пытаюсь изменить размер используемого PVC. На самом деле PVC имеет емкость 5Gi, и я уже изменил его размер на 25Gi:
> kubectl describe pv
Name: mypv
Labels: failure-domain.beta.kubernetes.io/region=northeurope
Annotations: pv.kubernetes.io/bound-by-controller: yes
pv.kubernetes.io/provisioned-by: kubernetes.io/azure-disk
volumehelper.VolumeDynamicallyCreatedByKey: azure-disk-dynamic-provisioner
Finalizers: [kubernetes.io/pv-protection]
StorageClass: default
Status: Bound
Claim: default/test-pvc
Reclaim Policy: Delete
Access Modes: RWO
VolumeMode: Filesystem
Capacity: 25Gi
...
> kubectl describe pvc
Name: test-pvc
Namespace: default
StorageClass: default
Status: Bound
Volume: mypv
Labels: <none>
Annotations: pv.kubernetes.io/bind-completed: yes
pv.kubernetes.io/bound-by-controller: yes
volume.beta.kubernetes.io/storage-provisioner: kubernetes.io/azure-disk
Finalizers: [kubernetes.io/pvc-protection]
Capacity: 25Gi
Access Modes: RWO
VolumeMode: Filesystem
Mounted By: mypod
Events: <none>
Но когда я вызываю df -h в mypod, он все равно показывает мне 5Gi (см. /dev/sdc):
/ # df -h
Filesystem Size Used Available Use% Mounted on
overlay 123.9G 22.3G 101.6G 18% /
tmpfs 64.0M 0 64.0M 0% /dev
tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup
/dev/sdb1 123.9G 22.3G 101.6G 18% /dev/termination-log
shm 64.0M 0 64.0M 0% /dev/shm
/dev/sdb1 123.9G 22.3G 101.6G 18% /etc/resolv.conf
/dev/sdb1 123.9G 22.3G 101.6G 18% /etc/hostname
/dev/sdb1 123.9G 22.3G 101.6G 18% /etc/hosts
/dev/sdc 4.9G 4.4G 448.1M 91% /var/lib/mydb
tmpfs 1.9G 12.0K 1.9G 0% /run/secrets/kubernetes.io/serviceaccount
tmpfs 1.9G 0 1.9G 0% /proc/acpi
tmpfs 64.0M 0 64.0M 0% /proc/kcore
tmpfs 64.0M 0 64.0M 0% /proc/keys
tmpfs 64.0M 0 64.0M 0% /proc/timer_list
tmpfs 64.0M 0 64.0M 0% /proc/sched_debug
tmpfs 1.9G 0 1.9G 0% /proc/scsi
tmpfs 1.9G 0 1.9G 0% /sys/firmware
Я уже уничтожил свой модуль и даже свое развертывание, но он все еще показывает 5Gi. Любая идея, как я могу использовать все 25Gi в своей капсуле?
РЕШЕНИЕ
Спасибо Марио за длинный ответ. К сожалению, акс-панель уже показала мне, что на диске 25Гб. Но вызов следующего вернул 5 ГБ:
az disk show --ids /subscriptions/<doesn't matter :-)>/resourceGroups/<doesn't matter :-)>/providers/Microsoft.Compute/disks/kubernetes-dynamic-pvc-27ee71a5-<doesn't matter> --query "diskSizeGb"
Итак, я наконец позвонил az disk update --ids <disk-id> --size-gb 25
. Теперь команда выше вернула 25, и я снова запустил свой модуль. Поскольку мой модуль использует Alpine Linux, он не изменяет размер диска автоматически, и мне пришлось делать это вручную:
/ # apk add e2fsprogs-extra
(1/6) Installing libblkid (2.34-r1)
(2/6) Installing libcom_err (1.45.5-r0)
(3/6) Installing e2fsprogs-libs (1.45.5-r0)
(4/6) Installing libuuid (2.34-r1)
(5/6) Installing e2fsprogs (1.45.5-r0)
(6/6) Installing e2fsprogs-extra (1.45.5-r0)
Executing busybox-1.31.1-r9.trigger
OK: 48 MiB in 31 packages
/ # resize2fs /dev/sdc
resize2fs 1.45.5 (07-Jan-2020)
Filesystem at /dev/sdc is mounted on /var/lib/<something :-)>; on-line resizing required
old_desc_blocks = 1, new_desc_blocks = 4
The filesystem on /dev/sdc is now 6553600 (4k) blocks long.
Примечание. В моем модуле я временно установил для привилегированного режима значение true:
...
spec:
containers:
- name: mypod
image: the-image:version
securityContext:
privileged: true
ports:
...
В противном случае resize2fs завершится ошибкой и скажет что-то вроде нет такого устройства или похожего (извините, больше не знаю точного сообщения об ошибке - забыл скопировать).