生产级数据库备份解决方案
基于 K8s PVC 的强一致性备份架构
快速开始
1. 部署顺序
# 进入备份方案目录
cd /Users/brunogao/work/codes/tools/macos/k8s/backup-solution
# 1️⃣ 创建 PVC
kubectl apply -f pvc/database-backup-pvc.yaml
# 2️⃣ 部署备份脚本
kubectl apply -f scripts/backup-scripts-configmap.yaml
# 3️⃣ 部署 CronJob
kubectl apply -f cronjob/database-backup-cronjob.yaml
# 4️⃣ 部署监控(可选)
kubectl apply -f monitoring/backup-alerts.yaml
2. 手动测试
# 创建测试备份
kubectl create job --from=cronjob/database-backup-pvc manual-test -n infra
# 查看日志
kubectl logs -n infra -l app=database-backup-pvc --tail=100
# 检查备份文件
kubectl exec -n infra -it <backup-pod> -- ls -lh /backups/mysql/
3. 验证恢复
# 使用恢复脚本
./deploy-and-test.sh verify
目录结构
backup-solution/
├── README.md # 本文件
├── deploy-and-test.sh # 一键部署和测试脚本
├── pvc/
│ └── database-backup-pvc.yaml # PVC 定义
├── scripts/
│ └── backup-scripts-configmap.yaml # 备份脚本
├── cronjob/
│ └── database-backup-cronjob.yaml # CronJob 定义
└── monitoring/
└── backup-alerts.yaml # Prometheus 告警规则
完整文档
详细架构设计和最佳实践请参考: K8S-BACKUP-ARCHITECTURE.md