扩容容器磁盘(PV)
在容器环境扩容磁盘现在变得很简单了,作为DevOps自己就可以完成,做一下实验。

确认云商为集群开启了扩容权限

什么意思呢,容器环境是通过api方式调整资源的,假如没有为集群设定好api权限,例如worknode所带有的权限无法扩容磁盘,就会在扩容时报错。

阿里云磁盘扩容权限开启

参见说明文档,尤其阿里云提供的这个权限图片
权限的开启需要集群管理员的协助,DevOps可以反馈给管理员

确认StorageClass开启扩容参数

StorageClass也控制了一层是否可以针对pv做扩容,确认如下参数
1
apiVersion: storage.k8s.io/v1
2
kind: StorageClass
3
metadata:
4
name: disk
5
parameters:
6
type: cloud_efficiency
7
zoneid: us-east-1a,us-east-1b
8
provisioner: alicloud/disk
9
reclaimPolicy: Delete
10
volumeBindingMode: WaitForFirstConsumer
11
allowVolumeExpansion: true # 需要增加这个参数,设置为true
Copied!
如果没有增加这个参数,可以使用命令增加
1
# kubectl patch sc disk -p '{"allowVolumeExpansion": true}'
Copied!

修改pvc执行扩容

有了前面的条件后,执行扩容就很简单了,修改pvc,然后重启pod就好

修改pvc

使用patch修改大小即可
1
# kubectl patch pvc pvc-disk -p '{"spec":{"resources":{"requests":{"storage":"30Gi"}}}}'
Copied!
当确认pvc和pv状态以后,删除pod,这样pod会重新mount扩容好的pv