У меня есть простая установка кластера Kubernetes на GKE. Чтобы сохранить данные для моего экспресс-веб-приложения, у меня есть развертывание mongodb, cluster-ip-service для развертывания mongodb и постоянное требование тома, работающее в кластере.
Данные пользователей сохраняются, и все работает нормально, пока я не удалил развертывание mongodb на консоли GKE. Когда я пытаюсь вернуть развертывание mongodb с помощью команды:
kubectl apply -f mongodb-deployment.yaml
Развертывание mongodb и PVC снова запущены, но все предыдущие данные были потеряны.
Мой файл yaml развертывания mongodb:
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: database-persistent-volume-claim
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 2Gi
Мой файл yaml с требованием постоянного тома:
apiVersion: apps/v1
kind: Deployment
metadata:
name: mongo-deployment
spec:
replicas: 1
selector:
matchLabels:
component: mongo
template:
metadata:
labels:
component: mongo
spec:
volumes:
- name: mongo-storage
persistentVolumeClaim:
claimName: database-persistent-volume-claim
containers:
- name: mongo
image: mongo
ports:
- containerPort: 27017
volumeMounts:
- name: mongo-storage
mountPath: /var/lib/mongo/data
Поскольку данные хранятся в постоянном томе, который не входит в жизненный цикл кластера.
Разве предыдущие данные не должны сохраняться и становиться доступными при повторном развертывании базы данных?
Думаю, мне здесь что-то не хватает.