2016-09-26 3 views
1

Я хочу создать контроллер репликации с POD, который будет иметь ПВХ (постоянное требование объема). Мой ПВХ будет использовать хранилище NFS для PV (Persistent Volume).Когда POD с заявлением о стойких томах разбился и перезапустил, данные будут по-прежнему доступны в новом POD?

Как только POD будет работать, RC будет поддерживать POD и работать. В этой ситуации данные в POD будут доступны/постоянны, если

  1. POD остановлен/удален командой удаления, и RC возобновляет ее? Это означает, что Кубернетес не остановился.
  2. POD был остановлен, процесс Kubernetes и узлы были перезапущены. Однако хранилище NFS все еще было прикреплено как PV.
  3. Новый PV прикреплен к Kubernetes, и старый PV отсоединен.

ответ

1

, что сильно зависит от того, как вы определяете свой ПВ/ПВХ. По моему опыту довольно легко использовать PV на основе NFS, чтобы сохранить данные между удалениями воссоздания 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, а также повторно использовать его снова путем воссоздания PV/PVC/POD на k8s, следовательно, он должен выжить во всех трех случаях, о которых вы упомянули.

+0

Эта строка «persistentVolumeReclaimPolicy: Retain» указывает, что данные должны быть сохранены? –

+0

Кроме того, есть ли способ автоматически восстановить данные для новых POD, созданных RC? –