2016-09-26 28 views
1

我想創建一個帶POD的複製控制器,它具有PVC(持續卷聲明)。我的PVC將使用PV(永久卷)的NFS存儲。當持續體積聲明的POD崩潰並重新啓動時,新POD中的數據仍然可用?

一旦POD運行,RC將維護POD並運行。在這種情況下,當POD中的數據可用/持續時,

  1. POD被刪除命令停止/刪除,RC將其重新發布?這意味着Kubernetes未被關閉。
  2. POD已停止,Kubernetes進程和節點重新啓動。但是,NFS存儲仍然作爲PV附加。
  3. 一個新的PV連接到Kubernetes,舊的PV被分離。

回答

1

這取決於你如何定義PV/PVC。根據我的經驗,使用基於NFS的PV很容易在pod娛樂刪除之間保留數據。我採用以下方法來處理由多個Pod共享的NFS卷。

體積:

apiVersion: v1 
kind: PersistentVolume 
metadata: 
    name: pvname 
spec: 
    capacity: 
    storage: 1Mi 
    accessModes: 
    - ReadWriteMany 
    persistentVolumeReclaimPolicy: Retain 
    nfs: 
    server: <nfs IP> 
    path: <nfs path> 

聲明:

kind: PersistentVolumeClaim 
apiVersion: v1 
metadata: 
    name: pvcname 
spec: 
    volumeName: pvname 
    accessModes: 
    - ReadWriteMany 
    resources: 
    requests: 
     storage: 1Mi 

這確保了無論我在K8S我能找回我的數據NFS服務器上的已知路徑以及再次重用刪除通過在k8s上重新創建PV/PVC/POD,因此它應該在您提到的所有三種情況下都能夠存活下來。

+0

此行爲「persistentVolumeReclaimPolicy:Retain」,指定應該保留數據嗎? –

+0

另外,有沒有辦法將數據自動回收到由RC創建的新POD? –

相關問題