Я предполагаю, что ваш предоставленный вручную том персистентности directus-pv , каким-то образом создается с PersistentVolumeReclaimPolicy = * Recycle .Это единственная возможная причина, которая может привести к стиранию данных при каждом перезапуске POD.
Я не могу воспроизвести ваш случай с предоставленными файлами манифеста, но я попробовал следующий тест:
- Создать gcePersistentDisk
- Создать PersistentVolume
- Создать PersistentVolumeClaim
- Создать ReplicaSet (replicas = 1), как этот
apiVersion: extensions/v1beta1
kind: ReplicaSet
metadata:
name: busybox-list-uploads
spec:
replicas: 1
template:
metadata:
labels:
app: busybox-list-uploads
version: "2"
spec:
containers:
- image: busybox
args: [/bin/sh, -c, 'sleep 9999' ]
volumeMounts:
- mountPath: /var/www/html/public/uploads
name: api-disk
name: busybox
volumes:
- name: api-disk
persistentVolumeClaim:
claimName: directus-pvc
Записать какой-нибудь файл в смонтированную папку / var / www / html / public / uploads Перезапустить POD (= убить POD), изменив размер реплики до 0, затем до 1 Вывести список содержимого/ var / www / html / public / uploads на вновь созданном POD
для i в busybox-list-uploads-dgfbc;do kubectl exec -it $ i - ls / var / www / html / public / uploads;сделанный;lost + found picture_from_busybox-list-uploads-ng4t6.png
Как видно, выходные данные ясно показывают, что данные сохраняются после перезапуска POD
*, вы можете проверить это с помощью cmd: kubectl get pv/directus-pv -o yaml