Longhorn块存储扩容实操

Longhorn块存储扩容实操

  • 序言
  • LonghornUI方式
  • 修改PVC方式
    • 确定要扩容的PVC
    • 将对应deployment或者statefulset的副本数设置为0,达到detached的效果
    • 对PVC进行操作
    • 将副本数恢复

序言

对于存储来说扩容是一个非常重要的需求,对于 Kubernetes 中的卷动态扩容同样也是需要的基本功能,PV 要做扩容操作是需要底层存储支持该操作才能实现,Longhorn 底层是支持卷扩容操作的,但是要求扩展的卷必须处于 detached 状态才能操作,有两种方法可以扩容 Longhorn 卷:修改 PVC 和使用 Longhorn UI。

LonghornUI方式

通过 Longhorn UI 操作比较简单,直接在页面中选择要扩容的卷,在操作中选择 Expand Volume 进行操作即可。

修改PVC方式

要通过 PVC 来进行扩容首先需要 PVC 由 Longhorn StorageClass 进行动态供应,并且在 StorageClass 中 allowVolumeExpansion 属性设置为 true,建议使用这种方法,因为 PVC 和 PV 会自动更新,并且在扩容后都会文件系统也会自动进行扩容。

确定要扩容的PVC

	kubectl get pvc -n omc | grep grafana-grafana
	NAME                     STATUS   VOLUME                                     CAPACITY   ACCESS MODES   STORAGECLASS   AGE
	grafana-grafana           Bound   pvc-e3e36732-4295-4749-926f-0f77ab00a1b3   10Gi       RWO            longhorn       424d

将对应deployment或者statefulset的副本数设置为0,达到detached的效果

kubectl scale deployment grafana-grafana --replicas=0 -n omc

缩容后结果如下

kubectl get deployment grafana-grafana -n omc
NAME              READY   UP-TO-DATE   AVAILABLE   AGE
grafana-grafana   0/0     0            0           424d

Longhorn块存储扩容实操_第1张图片

对PVC进行操作

kubectl patch pvc grafana-grafana -p '{"spec":{"resources":{"requests":{"storage":"20Gi"}}}}' -n omc

执行结果如下
在这里插入图片描述

在LonghornUI中查看对应的PVC,已是扩容后的结果
在这里插入图片描述

将副本数恢复

kubectl scale deployment grafana-grafana --replicas=1 -n omc

容器内查看扩容结果,文件系统也自动扩容完毕

你可能感兴趣的:(kubernetes,Longhorn)