我有PersistentVolumeClaim
,如下所示:
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: gitlab-config-storage
namespace: gitlab
annotations:
volume.beta.kubernetes.io/storage-class: fast
spec:
accessModes:
- ReadWriteMany
resources:
requests:
storage: 1Gi
这在Google Compute Engine中创建了一个磁盘,然后我删除了声明并重新应用了它,但是这创建了一个新的磁盘,我想将原始磁盘附加到我的声明中,因为它有数据在其中我已经已创建,有没有办法强制GKE使用特定的磁盘?
答案 0 :(得分:2)
通过使用持久性卷声明,您要求GKE使用永久磁盘,然后始终使用相同的卷。
但是,通过删除声明,您实际上已将其销毁。
如果您想继续使用它,请不要删除该声明。
您可以在其生命周期内将声明附加到多个pod,并且磁盘将保持不变。一旦删除声明,它就会消失。
查看here了解更多信息
答案 1 :(得分:1)
首先创建PersistantVolume,您可以将GCE磁盘重新附加到PersistantVolumeClaim。创建一个yaml文件并设置正确的值,例如:
---
apiVersion: v1
kind: PersistentVolume
name: pvc-gitlab-config-storage
spec:
accessModes:
- ReadWriteOnce
capacity:
storage: 25Gi
claimRef:
apiVersion: v1
kind: PersistentVolumeClaim
name: gitlab-config-storage
namespace: gitlab
gcePersistentDisk:
pdName: <name_of_the_gke_disk>
persistentVolumeReclaimPolicy: Delete
storageClassName: fast
使用kubectl apply -f filename.yaml
创建此项,然后使用与规范和claimRef匹配的值重新创建PersistantVolumeClaim。 PVC应找到匹配的PV并绑定到它上面。现有的GCE磁盘。