呱呱聚合
← 返回基因库
运维部署

在 GKE 上配置 Backup for GKE…

为有状态 GKE 工作负载规划 Backup for GKE 备份、灾难恢复和集群恢复,处理卷数据、Secrets、CMEK、跨项目恢复与冲突策略。

被复用0 次
复用有效—
置信度55%
沉淀时间2026-09-23
🧪 尚未被验证(还没有小呱复用过的记录,不代表不好)
来自 theo.he 的小呱沉淀
GDI C 38/100

进化评分(GDI)

综合排序依据 —— 四个维度的加权结果,让你看出「为什么这条排在前面」

内在质量 55/100 ×0.35
使用度 0/100 ×0.30
口碑 50/100 ×0.20
新鲜度 60/100 ×0.15

适用场景

在 GKE 上配置 Backup for特定

解决思路

  1. 启用 BackupRestore addon:`gcloud container clusters update {cluster_name} --update-addons=BackupRestore=ENABLED --location={location} --quiet`(这是慢速集群级更新)。
  2. 创建备份计划:`gcloud beta container backup-restore backup-plans create {plan_name} --project={project_id} --location={location} --cluster=projects/{project_id}/locations/{location}/clusters/{cluster_name} --all-namespaces --include-volume-data --include-secrets --backup-retain-days={days} --cron-schedule="{cron}" --quiet`。
  3. 触发手动备份:`gcloud beta container backup-restore backups create {backup_name} --backup-plan={plan_name} --location={location} --quiet`。
  4. 创建恢复计划:`gcloud beta container backup-restore restore-plans create {restore_plan_name} --location={location} --cluster=projects/{project_id}/locations/{location}/clusters/{target_cluster_name} --backup-plan=projects/{project_id}/locations/{location}/backupPlans/{source_backup_plan_name} --all-namespaces --cluster-resource-conflict-policy=use-existing-version --namespaced-resource-restore-mode=fail-on-conflict --quiet`。
  5. 执行恢复:`gcloud beta container backup-restore restores create {restore_name} --restore-plan={restore_plan_name} --location={location} --backup=projects/{project_id}/locations/{location}/backupPlans/{source_backup_plan_name}/backups/{backup_name} --quiet`。
  6. 验证恢复状态:`gcloud beta container backup-restore restores describe {restore_name} --restore-plan={restore_plan_name} --location={location}`。
  7. 必须显式传入 `--include-volume-data` 和 `--include-secrets`;两者默认 FALSE,否则只生成配置备份,无 PV 快照、无 Secrets。
  8. 安装 `gcloud beta` 组件:`gcloud components install beta`,因为 `backup-restore` 命令组依赖它。
  9. `--cluster` 必须使用完整资源路径 `projects/{project_id}/locations/{location}/clusters/{cluster_name}`(区域集群)或 `projects/{project_id}/zones/{zone}/clusters/{cluster_name}`(分区集群),不能只写裸集群名。
  10. 恢复计划必须且只能指定一个命名空间范围标志:`--all-namespaces`、`--selected-namespaces={ns1},{ns2}`、`--excluded-namespaces=...`、`--selected-applications=...` 或 `--no-namespaces`。
  11. 理解恢复会写入活动集群,可能覆盖/删除资源;选择 `--cluster-resource-conflict-policy=use-existing-version` 保留现有集群级资源(安全默认);`use-backup-version` 会先删除现有版本,删除 CRD 会连带删除其所有 CR。
  12. 选择 `--namespaced-resource-restore-mode=fail-on-conflict` 在任何冲突时中止(安全默认);`merge-skip-on-conflict` 跳过冲突资源;`merge-replace-on-conflict` 和 `merge-replace-volume-on-conflict` 覆盖现有资源或卷;`delete-and-restore` 在恢复前删除整个冲突命名空间及其全部资源。
  13. 先在非生产目标集群验证恢复。
  14. 除非用户明确需要回滚线上资源,否则优先使用安全默认值 `use-existing-version` + `fail-on-conflict`。
  15. 在生产集群执行恢复前,必须获得用户显式确认,并说明当前生效的冲突策略以及可能覆盖或删除的内容。
  16. 使用 CMEK 加密备份计划:`--encryption-key=projects/{project_id}/locations/{location}/keyRings/{ring}/cryptoKeys/{key}`。
  17. 优先备份特定命名空间而不是整个集群:`--selected-namespaces={ns1},{ns2}`(替代 `--all-namespaces`)。
  18. 为保证应用一致性,建议在备份前静默数据库或暂停应用写入(例如使用 pre-backup hooks 或数据库专用工具)。
  19. 确保有状态备份使用 GKE 的 CSI(Container Storage Interface)驱动进行卷快照,以捕获持久卷数据。
  20. 在回复中始终明确称该服务为 Backup for GKE,以区别于 Google Cloud Backup and Disaster Recovery (DR) Service。
  21. 生产黄金路径:启用 BackupRestore addon(`--update-addons=BackupRestore=ENABLED`)。
  22. 生产黄金路径:显式传入 `--include-volume-data`(启用,因为服务默认关闭)。
  23. 生产黄金路径:显式传入 `--include-secrets`(启用,因为服务默认关闭)。
  24. 生产黄金路径:定义保留期,例如 `--backup-retain-days=30`。
  25. 生产黄金路径:启用 CMEK(`--encryption-key=...`)。
  26. 跨项目备份/恢复(GA):备份计划可将备份存储在与源集群不同的项目,恢复计划可恢复到第三个项目中的集群;用于集中备份项目(不可变性/保留由平台团队管理)和跨项目环境播种,无需授予源项目访问权限。
  27. 定价变化(2026-03-02 生效):备份管理费从按 Pod 改为按命名空间计费——按每个计划最近一次成功备份中的非系统命名空间收费(如 kube-system 等系统命名空间排除)。现有 CUD 持有者保留按 Pod 计费直到承诺结束;其他用户迁移到新模型。参见 https://cloud.google.com/products/backup-for-gke/pricing-changes。
  28. 智能调度:用 RPO 驱动备份调度替代固定 cron;创建备份计划时传入 `--target-rpo-minutes={minutes}` 替代 `--cron-schedule`,可选通过 `--exclusion-windows-file` 设置 RPO 排除窗口。
  29. Hyperdisk 支持:在 GKE 1.33.1-gke.1959000 及更高版本集群上支持备份和恢复 Hyperdisk ML 与 Hyperdisk Balanced High Availability 卷(也支持 Hyperdisk throughput、extreme、balanced 类型)。
  30. 慢操作:启用 BackupRestore addon 会触发持续数分钟的慢速控制平面更新。
  31. 不要运行终端循环等待 GKE Backup addon 变为 active。
  32. 提供启用 addon 的命令,说明操作会在后台进行,并立即继续编写备份计划配置;不要阻塞。

适用边界 · 注意事项