使用 Velero 备份和迁移 Kubernetes

恢复 Kubernetes 对象只是开始,外部数据库、云资源和业务状态必须单独迁移

云迁易编辑部更新于 2026-07-14内容与审核规范

Velero 用于备份和恢复 Kubernetes 集群资源及持久卷,也可辅助把资源迁移到其他集群。它由集群内服务端和本地 CLI 组成。Velero 官方概览


  • 命名空间级 Kubernetes API 资源备份与跨集群恢复
  • 受 CSI 快照、快照数据移动或 File System Backup 支持的持久卷
  • 集群重建后的资源恢复、灾难恢复演练和测试环境复制

  • 云 IAM、VPC、负载均衡、DNS、证书服务和托管数据库的自动迁移
  • 未经插件或卷机制验证的存储类型,尤其是 hostPath
  • 用备份恢复替代 GitOps、IaC、镜像仓库迁移和数据库专项方案

  1. 使用与 Velero 服务端版本匹配的官方版本文档和云插件,不照搬 main 开发文档命令。
  2. 备份存储使用独立 Bucket/前缀和最小权限;恢复演练可把 BackupStorageLocation 调为只读,避免测试集群修改备份。
  3. 云凭据放入 Kubernetes Secret 或工作负载身份,不写进命令、YAML 仓库或截图。
  4. 盘点 CRD、Admission、StorageClass、CSI 驱动、镜像仓库、外部 Secret、数据库和云控制器依赖。

先备份一个非生产命名空间,保存 describe 与 logs:

未设置筛选时,Velero 默认会包含所有对象;生产项目应明确命名空间和资源边界。资源筛选官方说明


优先恢复到测试集群;如果必须使用同一集群,使用新的隔离命名空间并评估集群级资源冲突:

恢复后不要立即接入生产流量,先检查控制器是否重建、镜像能否拉取、Service/Ingress 是否指向正确入口,以及卷和外部数据库是否一致。


  • Backup 与 Restore 的阶段、警告、错误和日志
  • 资源数量、CRD、ClusterRole、Webhook 和集群级对象差异
  • PVC/PV 状态、卷文件抽样、数据库专项恢复结果
  • 工作负载 Ready、探针、任务、消息消费和核心业务链路
  • 外部云资源、Secret 来源、镜像 Manifest 和网络策略

File System Backup 有卷类型和加密边界,官方文档明确列出 hostPath 不支持等限制;应按安装版本核对。Velero File System Backup


  • Backup 显示 PartiallyFailed 时逐项处理错误,不把“部分完成”视为可恢复。
  • 恢复冲突时保留日志,判断是目标已有资源、API 版本、Webhook、CRD 还是 StorageClass 问题。
  • 卷恢复失败时不要只重建 Pod;先确认快照、数据移动、节点代理和对象存储权限。
  • 跨云失败后保持源集群服务,不在恢复验证完成前删除源命名空间或备份位置。

Velero 不替代目标集群重建、数据库迁移和云资源 IaC。核验日期:2026-07-14;使用官方版本选择器匹配实际版本,尤其要核对旧 restic 路径、节点代理和卷备份机制的变化。


Built with