1

我有一個PersistentVolumeClaim,看起來像下面這樣:添加Compute Engine的磁盤到集裝箱引擎爲持續性量

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 

這在谷歌計算引擎創建的磁盤,然後我刪除了要求,並重新應用,但這創建了一個新的磁盤,我想附上原始磁盤到我的聲明,因爲它有我已經創建的數據,有沒有辦法強制GKE使用特定的磁盤?

+0

我剛剛嘗試過「kubectl編輯pv PVNAME」並編輯了「gcePersistentDisk.Name」,但我得到了一個消息「錯誤:編輯取消,沒有保存有效的更改」。 –

回答

2

通過使用持久性卷聲明,您要求GKE使用持久性磁盤,然後始終使用相同的卷。

但是,通過刪除索賠,你基本上已經銷燬索賠。

如果您想繼續使用它,請不要刪除索賠。

您可以在其整個生命週期中將聲明附加到多個窗格,並且磁盤將保持不變。只要刪除索賠,它就會消失。

看看here更多in.formation

1

您可以在GCE磁盤首先創建PersistantVolume重新連接到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磁盤上。