Files
2026-02-20 22:50:45 +08:00
..
2026-02-20 22:50:45 +08:00
2026-02-20 22:50:45 +08:00
2026-02-20 22:50:45 +08:00
2026-02-20 22:50:45 +08:00
2026-02-20 22:50:45 +08:00
2026-02-20 22:50:45 +08:00
2026-02-20 22:50:45 +08:00

生产级数据库备份解决方案

基于 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