я пытаюсь создать постоянную базу данных mongo с kubernetes
вот мой конфиг
файл yaml постоянного тома:
kind: PersistentVolume
apiVersion: v1
metadata:
name: task-pv-volume
labels:
type: local
spec:
storageClassName: manual
capacity:
storage: 2Gi
accessModes:
- ReadWriteOnce
hostPath:
path: "/home/moses/test"
файл yaml с требованием постоянного тома
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
name: task-pv-claim
spec:
storageClassName: manual
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 2Gi
yaml-файл развертывания базы данных mongo
apiVersion: apps/v1
kind: Deployment
metadata:
name: mongodb
labels:
app: mongodb
spec:
replicas: 1
selector:
matchLabels:
app: mongodb
template:
metadata:
labels:
app: mongodb
spec:
containers:
- name: mongodb
image: mongo:latest
imagePullPolicy: IfNotPresent
ports:
- containerPort: 27017
volumeMounts:
- mountPath: "/data"
name: task-pv-storage
volumes:
- name: task-pv-storage
persistentVolumeClaim:
claimName: task-pv-claim
проблема в том, что файлы в каталоге данных (по умолчанию для манго) контейнера не копируются на том (папки configdb и db копируются, но они пусты)
версия kubectl
Client Version: version.Info{Major:"1", Minor:"10", GitVersion:"v1.10.2", GitCommit:"81753b10df112992bf51bbc2c2f85208aad78335", GitTreeState:"clean", BuildDate:"2018-04-27T09:22:21Z", GoVersion:"go1.9.3", Compiler:"gc", Platform:"linux/amd64"}
каталог, используемый для тома, имеет разрешение 777
мой кластер настроен с помощью kubeadm на ubuntu, также я использую образ докера mongo (я сам его не создавал)
проблема будет решена, если вы измените файл yaml базы данных mongo
- mountPath: "/ data"
к
- mountPath: "/ data / db"
даже если вы удалите развертывание и воссоздадите его, данные в mongodb сохранятся