Longhorn块存储扩容实操
序言
对于存储来说扩容是一个非常重要的需求,对于 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

对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
容器内查看扩容结果,文件系统也自动扩容完毕

Longhorn块存储在Kubernetes中的扩容实践
文章介绍了如何在Kubernetes环境中使用Longhorn块存储进行扩容,包括通过LonghornUI直接操作和修改PVC的方式。关键步骤涉及确定要扩容的PVC,将相关Deployment或StatefulSet副本数设为0以detached卷,然后调整PVC大小,最后恢复副本数,整个过程完成后文件系统会自动扩容。
813

被折叠的 条评论
为什么被折叠?



