【发布时间】:2021-06-09 14:40:47
【问题描述】:
我已使用以下 k8s 资源文件从具有保留 reclaimPolicy 的自定义存储类动态创建/配置 PVC 和 PV。
# StorageClass yaml spec
# kubectl apply -f storage-class.yaml
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: fast-ssd
provisioner: kubernetes.io/gce-pd
parameters:
type: pd-ssd
fstype: ext4
replication-type: none
reclaimPolicy: Retain
allowVolumeExpansion: true
volumeBindingMode: Immediate
# PersistentVolumeClaim yaml specs
# kubectl apply -f mysql-pvc.yaml
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
labels:
app: test-mysql
name: test-mysql-pv-claim
spec:
storageClassName: "fast-ssd"
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 51G
以下是重现我的场景的步骤顺序:
ubuntu@ubuntu-ThinkPad-X230-Tablet:/home/ubuntu/test$ kubectl apply -f mysql-pvc.yaml
persistentvolumeclaim/test-mysql-pv-claim created
ubuntu@ubuntu-ThinkPad-X230-Tablet:/home/ubuntu/test$ kubectl get pvc,pv
NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE
persistentvolumeclaim/test-mysql-pv-claim Bound pvc-a6bd789c-9e3c-43c8-8604-2e91b2fee616 48Gi RWO fast-ssd 7s
NAME CAPACITY ACCESS MODES RECLAIM POLICY STATUS CLAIM STORAGECLASS REASON AGE
persistentvolume/pvc-a6bd789c-9e3c-43c8-8604-2e91b2fee616 48Gi RWO Retain Bound default/test-mysql-pv-claim fast-ssd 6s
ubuntu@ubuntu-ThinkPad-X230-Tablet:/home/ubuntu/test$ kubectl delete -f mysql-pvc.yaml
persistentvolumeclaim "test-mysql-pv-claim" deleted
ubuntu@ubuntu-ThinkPad-X230-Tablet:/home/ubuntu/test$ kubectl get pvc,pv
NAME CAPACITY ACCESS MODES RECLAIM POLICY STATUS CLAIM STORAGECLASS REASON AGE
persistentvolume/pvc-a6bd789c-9e3c-43c8-8604-2e91b2fee616 48Gi RWO Retain Released default/test-mysql-pv-claim fast-ssd 44s
ubuntu@ubuntu-ThinkPad-X230-Tablet:/home/ubuntutest$ kubectl apply -f mysql-pvc.yaml
persistentvolumeclaim/test-mysql-pv-claim created
ubuntu@ubuntu-ThinkPad-X230-Tablet:/home/ubuntu/test$ kubectl get pvc,pv
NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE
persistentvolumeclaim/test-mysql-pv-claim Bound pvc-fbc266ab-60b0-441b-a789-84f950071390 48Gi RWO fast-ssd 6m6s
NAME CAPACITY ACCESS MODES RECLAIM POLICY STATUS CLAIM STORAGECLASS REASON AGE
persistentvolume/pvc-a6bd789c-9e3c-43c8-8604-2e91b2fee616 48Gi RWO Retain Released default/test-mysql-pv-claim fast-ssd 7m6s
persistentvolume/pvc-fbc266ab-60b0-441b-a789-84f950071390 48Gi RWO Retain Bound default/test-mysql-pv-claim fast-ssd 6m5s
从输出的最后一部分可以看出,新 PVC 绑定到新 PV,而不是旧发布的 PV。
那么我们能否在 mysql-pvc.yaml 文件中进行一些更改,以便我们的 PVC 可以再次重新分配/绑定到旧版本 PV,因为该 PV 将包含我们需要的重要数据?
【问题讨论】:
标签: kubernetes google-kubernetes-engine