我有一个AKS集群,我正在尝试调整使用的PVC的大小。实际上,PVC的容量是5Gi,我已经把它调整到25 5Gi了:
> 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>但是,当我在mypod中调用"df -h“时,它仍然显示了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。你知道我怎么才能用我舱里的整个25G吗?
溶液
谢谢马里奥的长期回应。不幸的是,aks仪表板已经向我展示了磁盘有25 me。但是,调用以下命令返回5GB:
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,我再次启动我的吊舱。由于我的pod使用的是阿尔卑斯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失败了,并说“没有这样的设备或类似的”(对不起,不知道确切的错误信息-忘记复制)。
发布于 2020-12-14 22:41:30
我认为这 GitHub线程应该回答您的问题。
你可以在那里读到:
..。我尝试通过为存储类添加allowVolumeExpansion: true并将pvc编辑到所需的大小来调整持久卷的大小。
我假设您已经完成了上述步骤。
继续读下去,这个问题看上去和你的一模一样:
在重新启动豆荚后,pvc的尺寸已更改为所需的尺寸,即2Ti -> 3Ti。 库贝克尔获得pvc mongo-0装订pvc-xxxx 3tirwo管理-溢价1h 但是,当我登录到pod并执行df -h时,磁盘大小仍然保持在2Ti。 kubetl exec -it mongo-0 bash root@mongo-0:/# df -h文件系统大小使用的有效使用%安装在/dev/sdc 2.0T 372 2m T 1% /mongodb上
现在让我们来看看可能的解决办法
当我更新pvc时,我看不到门户中的任何变化。我必须首先更新门户中的磁盘大小--相应地编辑pvc,然后删除pod使其工作。谢谢
因此,请检查Azure门户中磁盘的大小,如果您看到它的大小不变,则可能是这样。
否则,请确保您遵循了这个评论中提到的步骤,但是,在描述像VolumeResizeFailed这样的PVC时,不会收到任何错误消息,所以我相信这不是您的情况,在正确调整大小之前,它是来自节点的detached。因此,首先,确保门户中的卷大小与您通过描述PVC可以看到的信息之间没有差异。
https://stackoverflow.com/questions/65278541
复制相似问题