С Deployments вы не можете сделать это правильно.Вы должны использовать StatefulSet с шаблоном PVC для достижения вашей цели.Часть вашего фрагмента кода YAML StatefulSet может выглядеть следующим образом:
...
volumeClaimTemplates:
- metadata:
name: pv-data
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 5G
при условии, что у вас есть 3 реплики, вы увидите, что модули создаются последовательно, а PVC запрашивается во время создания модуля.
PVC называется volumeClaimTemplate name + pod-name + ordinal number
, и в результате вы получите список вновь созданных PVC:
pv-data-<pod_name>-0
pv-data-<pod_name>-1
pv-data-<pod_name>-N
StatefulSet создает имена (а не только имена) вашегоpods static и увеличивает их в зависимости от количества реплик, поэтому каждый Pod будет соответствовать своим собственным PVC и PV соответственно
Примечание: это называется динамической инициализацией.Вы должны быть знакомы с настройкой компонентов плоскости управления kubernetes (например, controller-manager) для достижения этой цели, потому что вам потребуются настроенные поставщики постоянного хранилища (один из них) и понять политику хранения ваших данных, но это совершенно другой вопрос..