PVC扩容这里只介绍扩容文件共享型PVC和扩容块存储PVC:
一、扩容文件共享型PVC¶
特别说明:下面操作是基于之前的环境进行操作的,详细请点击---使用共享文件系统存储,这里就不重复演示部署环境了。
1.1 先决条件¶
1.k8s版本必须达到1.15+
2.PVC扩容需要开启ExpandCSIVolumes(新版本默认已开启)
[root@k8s-master01 ~]# kube-apiserver -h | grep ExpandCSIVolumes
ExpandCSIVolumes=true|false (BETA - default=true)
说明:如果 default 为 true 就不需要打开此功能,如果 default 为 false,需要开启该功能。
1.2 扩容步骤¶
1.在线编辑StorageClass,将 allowVolumeExpansion 设置为 true(新版 rook 默认为 true)
$ k edit sc rook-cephfs

注意:在生产环境建议更改yaml,而不是edit在线修改,这里只为做演示
2.修改pvc大小,从1g改为2g
先查看原来的PVC,观察到大小为1g
[root@k8s-master01 ~]# k get pvc
NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE
nginx-share-pvc Bound pvc-b94bb9f8-f7e4-48cd-82be-db9dee6c451d 1Gi RWX rook-cephfs 116m
在线修改pvc请求资源大小为2g
$ k edit pvc nginx-share-pvc

注意:在生产环境建议更改yaml,而不是edit在线修改,这里只为做演示
3.修改完成继续查看pv和pvc,观察到pvc已实现在线扩容
[root@k8s-master01 ~]# k get pvc
NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE
nginx-share-pvc Bound pvc-b94bb9f8-f7e4-48cd-82be-db9dee6c451d 2Gi RWX rook-cephfs 120m
[root@k8s-master01 ~]# k get pv
NAME CAPACITY ACCESS MODES RECLAIM POLICY STATUS CLAIM STORAGECLASS REASON AGE
pvc-b94bb9f8-f7e4-48cd-82be-db9dee6c451d 2Gi RWX Delete Bound default/nginx-share-pvc rook-cephfs 120m
4.当然我们也可以进入之前起的容器进行再一次验证,观察到可用大小为2g
[root@k8s-master01 ~]# k get po
NAME READY STATUS RESTARTS AGE
web-679855cc-5jmxf 1/1 Running 0 117m
web-679855cc-bl6kr 1/1 Running 0 117m
web-679855cc-z24rx 1/1 Running 0 117m
[root@k8s-master01 ~]# k exec -it web-679855cc-5jmxf -- sh
/ # df -Th
Filesystem Type Size Used Available Use% Mounted on
...
...
10.0.56.222:6789,10.0.231.9:6789,10.0.108.212:6789:/volumes/csi/csi-vol-dcc035c6-83ec-48e1-a467-2881c6eaf429/689e5245-b3c8-4505-af45-00025c4691bc
ceph 2.0G 0 2.0G 0% /usr/share/nginx/html
...
...
二、扩容块存储PVC¶
特别说明:下面操作是基于之前的环境进行操作的,详细请点击---使用ceph块存储,这里就不重复演示部署环境了。
2.1 先决条件¶
1.k8s版本必须达到1.15+
2.PVC扩容需要开启ExpandCSIVolumes(新版本默认已开启)
[root@k8s-master01 ~]# kube-apiserver -h | grep ExpandCSIVolumes
ExpandCSIVolumes=true|false (BETA - default=true)
说明:如果 default 为 true 就不需要打开此功能,如果 default 为 false,需要开启该功能。
2.2 扩容步骤¶
1.在线编辑StorageClass,将 allowVolumeExpansion 设置为 true(新版 rook 默认为 true)
$ k edit sc rook-ceph-block

注意:在生产环境建议更改yaml,而不是edit在线修改,这里只为做演示
2.修改pvc大小,从5g改为8g
先查看原来的PVC,观察到大小为5g
[root@k8s-master01 examples]# k get pvc
NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE
mysql-pv-claim Bound pvc-f1f26550-43e5-4cc3-bf80-986ed5f7639f 5Gi RWO rook-ceph-block 4m5s
wp-pv-claim Bound pvc-004a8862-8e7d-49e8-8649-8b48e87956d1 5Gi RWO rook-ceph-block 4m5s
在线修改pvc请求资源大小为8g
$ k edit pvc mysql-pv-claim

$ k edit pvc wp-pv-claim

注意:在生产环境建议更改yaml,而不是edit在线修改,这里只为做演示
3.修改完成继续查看pv和pvc,观察到pvc已实现在线扩容
[root@k8s-master01 examples]# k get pvc
NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE
mysql-pv-claim Bound pvc-f1f26550-43e5-4cc3-bf80-986ed5f7639f 8Gi RWO rook-ceph-block 9m7s
wp-pv-claim Bound pvc-004a8862-8e7d-49e8-8649-8b48e87956d1 8Gi RWO rook-ceph-block 9m7s
[root@k8s-master01 examples]# k get pv
NAME CAPACITY ACCESS MODES RECLAIM POLICY STATUS CLAIM STORAGECLASS REASON AGE
pvc-004a8862-8e7d-49e8-8649-8b48e87956d1 8Gi RWO Delete Bound default/wp-pv-claim rook-ceph-block 9m34s
pvc-f1f26550-43e5-4cc3-bf80-986ed5f7639f 8Gi RWO Delete Bound default/mysql-pv-claim rook-ceph-block 9m34s
4.当然我们也可以进入之前起的容器进行再一次验证,观察到可用大小为2g
[root@k8s-master01 ~]# k get po
NAME READY STATUS RESTARTS AGE
wordpress-54f687fd7c-87wfv 1/1 Running 0 10m
wordpress-mysql-64c9849bd6-jjnzq 1/1 Running 0 10m
[root@k8s-master01 examples]# k exec -it wordpress-mysql-64c9849bd6-jjnzq -- bash
Filesystem Type Size Used Avail Use% Mounted on
overlay overlay 35G 9.9G 26G 29% /
tmpfs tmpfs 64M 0 64M 0% /dev
tmpfs tmpfs 3.9G 0 3.9G 0% /sys/fs/cgroup
/dev/mapper/centos-root xfs 35G 9.9G 26G 29% /etc/hosts
shm tmpfs 64M 0 64M 0% /dev/shm
/dev/rbd0 ext4 7.9G 139M 7.7G 2% /var/lib/mysql
tmpfs tmpfs 7.7G 12K 7.7G 1% /run/secrets/kubernetes.io/serviceaccount
tmpfs tmpfs 3.9G 0 3.9G 0% /proc/acpi
tmpfs tmpfs 3.9G 0 3.9G 0% /proc/scsi
tmpfs tmpfs 3.9G 0 3.9G 0% /sys/firmware
