PV и ПВХ - Kube-EFS

Я использую PV с EFS. Я создал PV и ПВХ. Мой PV возвращается к освобожденному состоянию после того, как я удаляю свои StatefulSets. Когда я удаляю и повторно применяю свой StatefulSets, он не привязывается к тому же PV, вместо этого состояние PVC отображается как ожидающее. У меня вопрос, как я могу получить мои стручки в StatefulSet отскок к тому же PV?

[kubeXpress]# k get pv

NAME      CAPACITY   ACCESS MODES   RECLAIM POLICY   **STATUS**     CLAIM            STORAGECLASS   REASON    AGE

efsvol    1Mi        RWO            Retain           **Released**   default/efsvol   aws-efs                  10m

[kubeXpress]# k get pvc
efsvol    **Pending**                                       aws-efs        10m

[kubeXpress]# k get po
NAME                                        READY     STATUS    RESTARTS   AGE
web-0                                       0/1       **Pending**   0          4m

[kubeXpress]# k describe po web-0
Events:
Type     Reason            Age                From               Message
  ----     ------            ----               ----               -------
Warning  FailedScheduling  2m (x37 over 12m)  default-scheduler  pod has unbound PersistentVolumeClaims (repeated 6 times)

1 ответ

Решение

Похоже, вам нужно создать новый PVC для нового Pod, чтобы использовать существующий PV.

Если вы удалите PV.Spec.ClaimRef ссылка в настройках PV, любой новый PVC с соответствующей настройкой может использовать его. Или, если вы хотите назначить PV для точного PVC, вы можете заполнить PV.Spec.ClaimRef с именем PVC, а затем создать PVC с этим именем.

Не забудьте использовать Retain политика для PV, чтобы предотвратить удаление после его выпуска.

Пример ПВ:

apiVersion: v1
kind: PersistentVolume
metadata:
  name: pv0001
spec:
  capacity:
    storage: 1Gi
  accessModes:
  - ReadWriteOnce
  nfs:
    path: /tmp
    server: 172.17.0.2
  persistentVolumeReclaimPolicy: Retain            #Here is policy
  claimRef:                                        #Here is claim reference
    name: claim1
    namespace: default

Пример ПВХ:

apiVersion: "v1"
kind: "PersistentVolumeClaim"
metadata:
  name: "claim1"
spec:
  accessModes:
    - "ReadWriteOnce"
  resources:
    requests:
      storage: "1Gi"
  volumeName: "pv0001"
Другие вопросы по тегам