k8s pvc扩容:pvc创建后扩容
最开始的10g太小了,现在想扩容pv空间
1、kubernetes 1.11版本中开始支持pvc创建后的扩容
先查看storageclass是否配置了动态扩容,主要看storageclass是否存在allowVolumeExpansion字段
[root@192 ~]# kubectl get storageclass default -oyaml
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: default
parameters:
archiveOnDelete: "false"
provisioner: nfs-client-provisioner-default
reclaimPolicy: Delete
volumeBindingMode: Immediate
[root@192 ~]#
可以看到并没有allowVolumeExpansion,此时是不支持动态扩容的,可以扩一下测试看看
[root@192 ~]# kubectl edit pvc -n leijun-mysql comom-store-column-03-24
# Please edit the object below. Lines beginning with a '#' will be ignored,
# and an empty file will abort the edit. If an error occurs while saving this file will be
# reopened with the relevant failures.
#
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: comom-store-column-03-24
namespace: default
spec:
accessModes:
- ReadWriteMany
dataSource: null
resources:
requests:
storage: 50Gi
volumeName: pvc-24fc01a0-6d9b-11ea-9107-b8ca3a62236c
status:
accessModes:
- ReadWriteMany
capacity:
storage: 10Gi
phase: Bound
"/tmp/kubectl-edit-fkm33.yaml" 38L, 1180C written
error: persistentvolumeclaims "comom-store-column-03-24" could not be patched: persistentvolumeclaims "comom-store-column-03-24" is forbidden: only dynamically provisioned pvc can be resized and the storageclass that provisions the pvc must support resize
You can run `kubectl replace -f /tmp/kubectl-edit-fkm33.yaml` to try this update again.
[root@192 ~]#
kubectl edit pvc -n leijun-mysql comom-store-column-03-24
修改storage 字段再保存,报错了,表示不支持动态扩容
2、给storageclass添加allowVolumeExpansion字段
[root@192 ~]# kubectl edit storageclass default
# Please edit the object below. Lines beginning with a '#' will be ignored,
# and an empty file will abort the edit. If an error occurs while saving this file will be
# reopened with the relevant failures.
#
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: default
parameters:
archiveOnDelete: "false"
provisioner: nfs-client-provisioner-default
reclaimPolicy: Delete
volumeBindingMode: Immediate
allowVolumeExpansion: true #增加该字段表示允许动态扩容
~
"/tmp/kubectl-edit-x0fyj.yaml" 24L, 738C written
storageclass.storage.k8s.io/default edited
[root@192 ~]#
3、再次修改pvc spec.resources.requests.storage字段
[root@192 ~]# kubectl edit pvc comom-store-column-03-24
spec:
accessModes:
- ReadWriteMany
dataSource: null
resources:
requests:
storage: 30Gi
volumeName: pvc-24fc01a0-6d9b-11ea-9107-b8ca3a62236c
status:
accessModes:
- ReadWriteMany
capacity:
storage: 10Gi
phase: Bound
"/tmp/kubectl-edit-mibh7.yaml" 38L, 1180C written
persistentvolumeclaim/comom-store-column-03-24 edited
[root@192 ~]#