k8s 之 mongo 备份与恢复
mongo 都是多副本部署,首先找到 master在容器中输入数据库备份命令。
·
k8s 之 mongo 备份与恢复
k8s 中使用 mongodb 进行库的备份操作
单个 库 的备份
mongo 都是多副本部署,首先找到 master
#进入mongo pod 中查看是否为master
kubectl exec -it ${mongo-pod} -n ${namespace} -- /bin/bash
#进入mongodb
mongo
#查看是否是master节点
db.isMaster()
在容器中输入数据库备份命令
#进入容器
kubectl exec -it ${mongo-pod} -n ${namespace} -- /bin/bash
#单库备份
mongodump -d ${dbname} -o /home
#例如
# mongodump -d dataservice -o /home
全部数据库的备份
全库备份
#进入容器
kubectl exec -it ${mongo-pod} -n ${namespace} -- /bin/bash
#全库备份
mongodump -u root -p 123456 --authenticationDatabase admin --oplog -o /home/backup/
k8s 中使用 mongodb 进行库的恢复操作
单个库的恢复
#单个库的恢复
mongorestore -d ${dbname} --dir /home
全库恢复
mongorestore -u root -p 123456 /home/backup/ --authenticationDatabase admin
单库备份参考文档:https://www.toutiao.com/article/7134196160713130503/?channel=&source=search_tab
全库备份参考文档:https://blog.csdn.net/wangying202/article/details/120545839
参考文档:https://www.cnblogs.com/abner123/p/16275477.html
附(文件从 k8s 容器中导入/导出)
容器中导出文件
kubectl cp -n ${namespace} ${pod}:/home/dataservice /root/dataservice
# /home/dataservice 是容器中的文件夹路径
# /root/dataservice 是服务器中的目标文件夹路径
# 如果 pod 中包含多个容器的
kubectl cp -n ${namespace} ${pod}:/home/dataservice /root/dataservice -c ${container-name}
服务器文件导入到容器中
kubectl -n ${namespace} cp /root/dataservice ${pod}:/home
# /root/dataservice 是服务器中的目标文件夹路径
# /home 是容器中的文件夹路径
更多推荐
已为社区贡献3条内容
所有评论(0)