我听说在后来版本的Kubernetes中(如果我没有弄错的话),只要在PersistentVolume配置中设置了allowVolumeExpansion: true,就可以扩展StorageClass。
在我的例子中,在GCP上,我的PVC使用的StorageClass没有这一行,我也不能添加它。
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
annotations:
storageclass.beta.kubernetes.io/is-default-class: "true"
creationTimestamp: 2018-05-30T17:07:33Z
labels:
addonmanager.kubernetes.io/mode: EnsureExists
kubernetes.io/cluster-service: "true"
name: standard
resourceVersion: "8741704"
selfLink: /apis/storage.k8s.io/v1/storageclasses/standard
uid: f1bd0421-642b-11e8-bb11-42010a9a00b5
parameters:
type: pd-standard
provisioner: kubernetes.io/gce-pd
reclaimPolicy: Delete
volumeBindingMode: Immediate所以,我想增加一个PV,和它对应的PVC,从8Gi增加到100 8Gi。做这件事最好的方法是什么?是否有办法在保存数据的同时做到这一点,或者在创建新的PV之前必须删除当前的PV?
这里是PV YAML:
apiVersion: v1
kind: PersistentVolume
metadata:
annotations:
kubernetes.io/createdby: gce-pd-dynamic-provisioner
pv.kubernetes.io/bound-by-controller: "yes"
pv.kubernetes.io/provisioned-by: kubernetes.io/gce-pd
creationTimestamp: 2018-05-31T10:30:39Z
finalizers:
- kubernetes.io/pv-protection
labels:
failure-domain.beta.kubernetes.io/region: europe-west2
failure-domain.beta.kubernetes.io/zone: europe-west2-c
name: pvc-a70ca000-64bd-11e8-bb11-42010a9a00b5
resourceVersion: "8728415"
selfLink: /api/v1/persistentvolumes/pvc-a70ca000-64bd-11e8-bb11-42010a9a00b5
uid: a9e8c071-64bd-11e8-bb11-42010a9a00b5
spec:
accessModes:
- ReadWriteOnce
capacity:
storage: 8Gi
claimRef:
apiVersion: v1
kind: PersistentVolumeClaim
name: production-postgres
namespace: neserver-6540663
resourceVersion: "85487"
uid: a70ca000-64bd-11e8-bb11-42010a9a00b5
gcePersistentDisk:
fsType: ext4
pdName: gke-cluster-1-320626e3-pvc-a70ca000-64bd-11e8-bb11-42010a9a00b5
persistentVolumeReclaimPolicy: Delete
storageClassName: standard
status:
phase: Bound发布于 2018-08-17 14:21:35
不幸的是,GKE中还不支持这个特性。您可以使用公共问题跟踪器打开一个功能请求,以便在GKE的未来版本中启用此功能。
https://serverfault.com/questions/926703
复制相似问题