首页 > 其他 > 详细

动态扩容pvc

时间:2020-07-17 18:02:05      阅读:174      评论:0      收藏:0      [点我收藏+]

 

技术分享图片

 

 最开始的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:
  annotations:
    NFSADDR: 192.168.1.205
    NFSPATH: /nfs/top
    storageLimit: "200"
    storageUsed: "0"
    type: NFS
  creationTimestamp: 2020-03-10T03:18:57Z
  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:
  annotations:
    pv.kubernetes.io/bind-completed: "yes"
    pv.kubernetes.io/bound-by-controller: "yes"
    volume.beta.kubernetes.io/storage-class: default
    volume.beta.kubernetes.io/storage-provisioner: nfs-client-provisioner-default
  creationTimestamp: 2020-03-24T06:46:09Z
  finalizers:
  - kubernetes.io/pvc-protection
  labels:
    app/service-leijun-mysql: service-leijun-mysql
    harmonycloud.cn/type: storage
    nephele/user: admin
  name: comom-store-column-03-24
  namespace: leijun-mysql
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:
  annotations:
    NFSADDR: 192.168.*。*
    NFSPATH: /nfs/top
    storageLimit: "200"
    storageUsed: "0"
    type: NFS
  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 -n leijun-mysql comom-store-column-03-24     
  annotations:
    pv.kubernetes.io/bind-completed: "yes"
    pv.kubernetes.io/bound-by-controller: "yes"
    volume.beta.kubernetes.io/storage-class: default
    volume.beta.kubernetes.io/storage-provisioner: nfs-client-provisioner-default
  creationTimestamp: 2020-03-24T06:46:09Z
  finalizers:
  - kubernetes.io/pvc-protection
  labels:
    app/service-leijun-mysql: service-leijun-mysql
    harmonycloud.cn/type: storage
    nephele/user: admin
  name: comom-store-column-03-24
  namespace: leijun-mysql
  resourceVersion: "7643003"
  selfLink: /api/v1/namespaces/leijun-mysql/persistentvolumeclaims/comom-store-column-03-24
  uid: 24fc01a0-6d9b-11ea-9107-b8ca3a62236c
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 ~]#

 

动态扩容pvc

原文:https://www.cnblogs.com/zphqq/p/13330732.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!