Kubernetes 将计算引擎磁盘作为永久卷添加到容器引擎
我有一个Kubernetes 将计算引擎磁盘作为永久卷添加到容器引擎,kubernetes,google-cloud-platform,google-compute-engine,google-kubernetes-engine,Kubernetes,Google Cloud Platform,Google Compute Engine,Google Kubernetes Engine,我有一个PersistentVolumeClaim,如下所示: apiVersion: v1 kind: PersistentVolumeClaim metadata: name: gitlab-config-storage namespace: gitlab annotations: volume.beta.kubernetes.io/storage-class: fast spec: accessModes: - ReadWriteMany resourc
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使用特定的磁盘?使用持久卷声明,您要求GKE使用持久磁盘,然后始终使用相同的卷 然而,通过删除索赔,您实际上已经销毁了它 如果您想继续使用,请永远不要删除该声明 您可以在多个POD的生命周期内附加声明,磁盘将保持不变。一旦删除索赔,它就会消失
查看更多信息您可以通过首先创建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
---
版本:v1
种类:PersistentVolume
名称:pvc gitlab配置存储
规格:
访问模式:
-读写
容量:
储存量:25Gi
索赔参考:
版本:v1
种类:PersistentVolumeClaim
名称:gitlab配置存储
名称空间:gitlab
gcePersistentDisk:
pdName:
PersistentVolumeClaIncolicy:删除
storageClassName:fast
使用
kubectl apply-f filename.yaml创建此文件,然后使用与spec和claimRef匹配的值重新创建PersistantVolumeClaim。PVC应该找到匹配的PV并绑定到它和现有的GCE磁盘。我刚刚尝试了“kubectl edit PV PVNAME”并编辑了“gcePersistentDisk.Name”,但我收到了一条消息“错误:编辑已取消,未保存任何有效更改”。下面的答案是否解决了您的问题?