备份策略
策略把动作、频率、保留期与命名空间选择组合起来,是 SupKube 里唯一的自动化备份入口。
前置条件
- 已有至少一个可用的存储位置,参见 存储位置与快照位置。
- 您的角色是 admin,或是目标命名空间范围内的 editor。
保护模型
SupKube 采用两层模型:
┌──────────────────────────────────────────────────┐
│ 本地快照 永远开启,无法关闭 │
│ 集群内 CSI 卷快照,快速回滚 │
│ ⚠ 集群整体损坏时一起消失 │
└────────────────────────┬─────────────────────────┘
│ 开关:启用通过快照导出做备份
▼
┌──────────────────────────────────────────────────┐
│ 导出 可选,默认关闭 │
│ 快照 ──▶ 存储位置(异地 / 跨集群可恢复) │
└──────────────────────────────────────────────────┘
- 本地快照永远开启。每条策略都会对选中的命名空间做集群内 CSI 卷快照,提供快速回滚能力。
- 导出是可选开关。打开「启用通过快照导出做备份」后,每个快照会被导出到指定的存储位置,用于异地与跨集群恢复。
危险
只做本地快照的策略,在集群整体损坏时无法恢复。要做灾备就必须打开导出开关并选择一个云端存储位置。
两条调度线
打开导出后,一条策略在 Kubernetes 里对应两个 Velero Schedule,各自独立配置:
您创建的「一条」策略
│
┌────────────────┴────────────────┐
▼ ▼
┌─────────────────┐ ┌─────────────────┐
│ 本地侧 Schedule │ │ 云端侧 Schedule │
│ (永远存在) │ │ (开导出才有) │
├─────────────────┤ ├─────────────────┤
│ 本地备份调度 │ │ 云端备份调度 │
│ 本地保留期 │ │ 云端保留期 │
├─────────────────┤ ├─────────────────┤
│ 每 4 小时 │ │ 每日一次 │
│ 保留 2 天 │ │ 保留 30 天 │
│ (典型值) │ │ (典型值) │
└────────┬────────┘ └────────┬────────┘
▼ ▼
集群内 CSI 快照 对象存储(BSL)
「类型」列=本地 「类型」列=云端
│ │
└─────────────┬───────────────────┘
▼
「应用还原」页同时列出两类还原点
两条线互不等待、互不影响:本地那条失败不会阻止云端那条按时跑,反过来也一样。排查时请分别看两个 Schedule 的状态,不要只看一个就下结论。
| 配置项 | 本地侧 | 云端侧 |
|---|---|---|
| 调度 | 本地备份调度 | 云端备份调度 |
| 保留期 | 本地保留 | 云端保留 |
| 产物 | 「类型」列显示为本地的还原点 | 「类型」列显示为云端的还原点 |
典型配置是本地高频短保留(例如每 4 小时、保留 2 天),云端低频长保留(例如每日一次、保留 30 天)。
创建策略
左侧菜单「策略制定」,点「创建新策略」。关键字段:
| 字段 | 说明 |
|---|---|
| 名称 | 创建后不可修改,改名会被 Velero 视为新策略且备份历史无法迁移 |
| 备注 | 给团队成员的可选说明 |
| 动作类型 | Snapshot 策略在本集群备份;Import 策略从共享存储位置拉取 |
| 包含的命名空间 | 留空表示全部命名空间 |
| 数据路径 | 四选一,参见 Velero 与数据路径 |
| 备份频率 | 预置频率或自定义 cron,也可以选「仅按需」 |
| 导出存储位置 | 打开导出开关后必填 |
选择「仅按需」时策略处于暂停状态,不会按时刻自动触发,只有点「立即执行一次」才跑一次备份。
备份就绪性检查
保存前,界面会对策略草案做静态预检,结论分为通过、警告、阻断三级。存在阻断项时无法保存。
每条结论都包含「为什么」「证据」「怎么修」三段。涉及提权的修复命令 SupKube 只提供文本供您复制,绝不代为执行。
目前内置的规则包括:
- Azure 文件存储卷经 Data Mover 备份需要存储账户密钥授权:缺少授权时快照会成功但数据永远传不上去。
- 运行中的数据库在无应用一致性 hook 的情况下被备份:需要自行配置 Velero 备份 hook。
3-2-1-1-0 评分预览
策略编辑页会实时显示这条策略对集群评分的贡献,并给出未满足项的具体原因,例如未选择云端存储位置、所选存储位置不可用、未启用对象锁等。
日常操作
| 操作 | 位置 | 说明 |
|---|---|---|
| 立即执行一次 | 策略行操作菜单 | 用与定时任务相同的模板立刻触发一次备份 |
| 暂停与恢复 | 策略行操作菜单 | 暂停后不再按时刻触发 |
| 重新校验 | 策略详情 | 重新检查调度表达式与资源选择器 |
| 编辑 | 策略行操作菜单 | 名称不可改,其余字段可改 |
即时快照
不想建策略、只想在发版前留一个回滚点时,进入「应用列表」页,在目标应用上点快照,填写备注后确认。
这会立刻创建一个集群内 CSI 卷快照作为 24 小时回滚点,不上传对象存储,与定时策略无关。受保护的系统命名空间不允许执行该操作。
验证方法
kubectl -n supkube get schedules
kubectl -n supkube get backups --sort-by=.metadata.creationTimestamp
打开导出的策略应当能看到两个 Schedule。备份进入 Completed 即该还原点可用。
界面侧进入「应用还原」页按命名空间过滤,本地与云端两类还原点都应按各自频率出现。