系列文章:《Velero :Kubernetes 世界的“后悔药”与“救生艇”》
第三篇:深入核心 - 解剖 Velero 的“三大法宝”:Schedules, Hooks & VolumeSnapshots
本篇焦点:
- Schedules:从手动执行到自动化、周期性的备份策略,实现“一劳永逸”。
- Hooks:学习如何在备份前后执行自定义命令,解决数据库等应用的数据一致性难题。
- VolumeSnapshots:深入幕后,理解 Velero 是如何与底层存储系统协作来真正“打包数据”的。
法宝一:Schedules - 你的自动化备份管家
手动的 velero backup create
命令在紧急情况或测试时非常有用,但生产环境的保护策略不能依赖于人类的记忆和操作。我们需要一个自动化的“备份管家”,而 Schedule
就是 Velero 提供的答案。
SRE 思维:定义你的 RPO
在使用 Schedule
之前,先问自己一个问题:“如果发生灾难,我们最多可以容忍丢失多长时间的数据?” 这个问题的答案,就是你的恢复点目标 (Recovery Point Objective, RPO)。如果答案是“1天”,那么你就应该至少每天备份一次;如果是“1小时”,那就应该每小时备份一次。
如何创建一个 Schedule?
Schedule
是一个标准的 Kubernetes CRD 资源,你可以通过 velero
命令或 YAML 文件来创建。
# 创建一个每天凌晨2点,为 nginx-example 命名空间备份的计划
velero schedule create daily-nginx-backup \
--schedule="0 2 * * *" \
--include-namespaces nginx-example \
--ttl 240h