【发布时间】:2021-04-17 04:44:58
【问题描述】:
我有一个在我的笔记本电脑上运行的微服务。但是,我正在使用 docker compose。我正在努力部署到我已经设置的 kubernetes 集群。我坚持让数据持久化。例如,这是我在 docker-compose 中的 mongodb
systemdb:
container_name: system-db
image: mongo:4.4.1
restart: always
ports:
- '9000:27017'
volumes:
- ./system_db:/data/db
networks:
- backend
因为它是一个本地解决方案,所以我选择了 NFS 服务器。我创建了一个 Persistent Volume 和 Persistent Volume Claim (pvc-nfs-pv1),在使用 nginx 进行测试时似乎效果很好。但是,我不知道如何部署 mongodb statefulset 来使用 pvc。我没有实现副本集。
这是我的 yaml:
apiVersion: apps/v1
kind: StatefulSet
metadata:
name: mongod
spec:
serviceName: mongodb-service
replicas: 1
selector:
matchLabels:
role: mongo
template:
metadata:
labels:
role: mongo
environment: test
spec:
terminationGracePeriodSeconds: 10
containers:
- name: mongod-container
image: mongo
resources:
requests:
cpu: "0.2"
memory: 200Mi
ports:
- containerPort: 27017
volumeMounts:
- name: pvc-nfs-pv1
mountPath: /data/db
volumeClaimTemplates:
- metadata:
name: pvc-nfs-pv1
annotations:
volume.beta.kubernetes.io/storage-class: "standard"
spec:
accessModes: [ "ReadWriteOnce" ]
resources:
requests:
storage: 500Mi
我该怎么做?
【问题讨论】:
标签: mongodb kubernetes docker-compose persistent-storage