如何解决将数据从现有数据库迁移到 Kubernetes 中新创建的 mongodb pod
我在我的 Minikube 本地集群中创建了一个 mongodb pod,配置如下,现在我想将我现有的 mongodb 数据库(在 AWS EC2 实例中运行)的数据迁移到这个数据库,我该如何实现?
apiVersion: v1
kind: Pod
metadata:
name: mongodb
labels:
app: mongodb
spec:
volumes:
- name: mongo-vol
persistentVolumeClaim:
claimName: mongo-pvc
containers:
- image: mongo
name: container1
command:
- "mongod"
- "--bind_ip"
- "0.0.0.0"
ports:
- containerPort: 27017
volumeMounts:
- name: mongo-vol
mountPath: /data/db
解决方法
无法添加评论,因为我的声望不超过 50,但问题是:
- 您使用 MongoDB 创建了一个 Pod,我看到 volumeMount 设置为 /data/db。这条路是什么?此卷是 hostPath、NFS、外部存储吗?
迁移本身可以通过两种方式完成:
- 通过在您的 EC2 实例上运行 mongodump:
mongodump -host hostname --port 27017 --out /tmp/mongodb-dump
然后是 /data/db 路径上的 mongorestore。
- 您可以手动登录 Pod
#copy your dump from host to pod using
kubectl cp /tmp/foo_dir <some-pod>:/tmp/bar_dir
#log on the pod
kubectl exec mongodb -it /bin/bash
#run restore
mongorestore /tmp/mongodb-dump
或
- 您可以从 EC2 实例复制所有文件/整个 /data,并将其放到您的 pod 正在挂载 /data/db 的卷上。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。