规划一组备份

使用集合让一切井井有条 根据您的偏好保存内容并对其进行分类。

本页面介绍如何创建 Backup for GKE 备份方案,该方案用于备份 Google Kubernetes Engine (GKE) 中的工作负载。

备份方案为一系列备份提供配置、位置和管理功能。备份方案包含备份配置,此配置涉及源集群、选择要备份的工作负载以及存储此方案下生成的备份工件的区域。

您可以为每个集群创建一个或多个备份方案。有两个主要原因导致您可能需要为集群使用多个备份方案:

  • 您希望将备份工件存储在多个区域中。 在这种情况下,请为每个要存储备份的区域创建一个备份计划。
  • 您希望对集群的备份进行分区,例如:

    • 您可能希望制作分散在一天时间中的多个较小备份,而不是在一天中的一个时间点制作非常大的备份。
    • 您希望更频繁地备份集群的某些部分,其余部分则不(例如,每天备份某一些命名空间,每小时备份其他命名空间)。

我们建议每个集群至少有一个备份方案。

我们还建议您为备份方案定义 Cron 时间表,以便根据该时间表自动创建备份。您还可以手动备份工作负载。创建备份方案后,您可以为该方案创建备份。

准备工作

安装 Backup for GKE

创建备份方案

使用 gcloud CLI 或 Google Cloud Console 创建备份方案。

gcloud

如需创建具有时间表的备份方案,请运行以下命令:

gcloud beta container backup-restore backup-plans create BACKUP_PLAN \
    --project=PROJECT_ID \
    --location=LOCATION \
    --cluster=CLUSTER \
    --all-namespaces \
    --include-secrets \
    --include-volume-data \
    --encryption-key=ENCRYPTION_KEY
    --cron-schedule=SCHEDULE \
    --backup-retain-days=RETAIN_DAYS \
    --backup-delete-lock-days DELETE_LOCK_DAYS \
    --locked

替换以下内容:

  • BACKUP_PLAN:您要创建的备份方案的名称。
  • PROJECT_ID:您的 Google Cloud 项目的 ID。
  • LOCATION:资源的计算区域,例如 us-central1。请参阅资源位置简介
  • CLUSTER:集群的相对路径:
    • 区域级集群:projects/PROJECT_ID/locations/REGION/clusters/CLUSTER_NAME
    • 可用区级集群:projects/PROJECT_ID/locations/ZONE/clusters/CLUSTER_NAME
  • CLUSTER_NAME:要备份的集群的名称。
  • --all-namespaces:备份集群的所有命名空间。或者,指定 --selected-applications 并附上要备份的应用列表,或指定 --selected-namespaces 并附上要备份的命名空间列表。在创建备份方案时,您必须指定其中一个选项。
  • --include-secrets:(可选)如果 Secret 资源在备份范围内,则包含这些资源。
  • --include-volume-data:(可选)在备份中包含永久性卷数据。如果要在恢复期间创建空卷,请省略此标志。
  • ENCRYPTION_KEY:(可选)定义客户管理的加密密钥的路径。请参阅 CMEK 加密简介
  • SCHEDULE:(可选)定义能够自动创建备份并支持标准 Cron 语法的时间表。例如,"10 3 * * *" 会在每天凌晨 3:10 创建备份。所有时间均采用世界协调时间 (UTC)。所计划的备份之间的最短间隔为 10 分钟。
  • RETAIN_DAYS:(如果设置了 SCHEDULE,则为必填)保留备份的天数。此方案的备份在此期限后会自动删除。
  • DELETE_LOCK_DAYS:(可选)无法删除备份的天数。如果设置了此值,则在该生命周期到期之前,不能(自动或手动)删除为该方案创建的备份。

  • --locked:(可选)锁定备份方案的保留政策。

如需查看选项的完整列表,请参阅 gcloud beta container backup-restore backup-plans create 文档。

控制台

在 Google Cloud Console 中执行以下任务:

  1. 转到 Google Cloud 控制台中的 Google Kubernetes Engine 页面。

    前往 Google Kubernetes Engine

  2. 在导航菜单中,点击 Backup for GKE

  3. 点击创建备份方案

  4. 方案详情部分,完成以下操作,然后点击下一步

    1. 选择要备份的集群。
    2. 输入备份方案名称和可选说明。
    3. 选择备份位置。
  5. (可选)在范围和加密部分中,完成以下操作,然后点击下一步

    1. 选择备份方案的范围:

      1. 点击所有命名空间,备份备份中的所有命名空间资源。
      2. 点击此集群中的所选命名空间以选择要包含在备份方案中的命名空间。
      3. 点击此集群中的所选受保护应用,通过指定命名空间和应用名称来添加资源。
    2. 点击包括 Secret 复选框以包含 Kubernetes Secret 资源。

    3. 如果您希望在备份中使用卷数据,请点击包括永久性卷数据复选框。如果要在恢复期间创建空卷,请取消选中此复选框。

    4. 如需启用 CMEK 加密,您必须先授予对相应 CMEK 密钥的访问权限(请参阅 CMEK 加密简介)。

      1. 点击使用客户管理的加密密钥复选框以选择密钥。
  6. (可选)在时间表和保留部分中,完成以下操作,然后点击下一步

    1. 如需定义时间表,请在 CRON 字符串字段中,使用标准 cron 语法输入表达式。例如,10 3 * * * 会在每天凌晨 3:10 创建备份。所有时间均采用世界协调时间 (UTC)。所计划的备份之间的最短间隔为 10 分钟。
    2. 设置在自动删除备份之前保留备份的天数。
    3. 设置无法删除备份的天数。
    4. 如需锁定保留政策,请点击锁定图标,将锁定从关闭切换为开启
  7. 查看备份方案详情,然后点击创建方案

查看备份方案

使用 gcloud CLI 或 Google Cloud 控制台查看备份方案及其详细信息。

gcloud

如需列出项目和区域中的所有备份方案,请运行以下命令:

gcloud beta container backup-restore backup-plans list \
    --project=PROJECT_ID \
    --location=LOCATION

仅对于 list 命令,您可以提供 - 作为除 PROJECT_ID 以外的任何参数的值。- 值充当通配符。如果您未指定命令行选项或未设置属性,则 - 值是任何参数的默认值。

如需查看选项的完整列表,请参阅 gcloud beta container backup-restore backup-plans list 文档。

如需查看备份方案的详细信息,请运行以下命令:

gcloud beta container backup-restore backup-plans describe BACKUP_PLAN \
     --project=PROJECT_ID \
     --location=LOCATION

如需查看选项的完整列表,请参阅 gcloud beta container backup-restore backup-plans describe 文档。

控制台

在 Google Cloud Console 中执行以下任务:

  1. 转到 Google Cloud 控制台中的 Google Kubernetes Engine 页面。

    转到 Google Kubernetes Engine。

  2. 在导航菜单中,点击 Backup for GKE

  3. 点击备份方案标签页。

  4. 展开集群,然后点击方案名称。

  5. 点击详细信息标签页以查看方案详细信息。

更新备份方案

使用 gcloud CLI 或 Google Cloud 控制台更新备份方案。

gcloud

如需更新备份方案(例如通过添加新说明),请运行以下命令:

gcloud beta container backup-restore backup-plans update BACKUP_PLAN \
    --project=PROJECT_ID \
    --location=LOCATION \
    --description=DESCRIPTION

如需查看选项的完整列表,请参阅 gcloud beta container backup-restore backup-plans update 文档。

控制台

在 Google Cloud Console 中执行以下任务:

  1. 转到 Google Cloud 控制台中的 Google Kubernetes Engine 页面。

    前往 Google Kubernetes Engine

  2. 在导航菜单中,点击 Backup for GKE

  3. 点击备份方案标签页。

  4. 展开集群,然后点击方案名称。

  5. 点击详细信息标签页以修改方案详情。

  6. 点击 修改以修改方案部分,然后点击保存更改

暂停备份时间表

您可以暂停备份时间表。在时间表暂停期间,系统不会创建自动备份。您仍然可以手动创建备份。

gcloud

如需暂停备份时间表,请运行以下命令:

gcloud beta container backup-restore backup-plans update BACKUP_PLAN \
    --project=PROJECT_ID \
    --location=LOCATION \
    --paused

如需查看选项的完整列表,请参阅 gcloud beta container backup-restore backup-plans update 文档。

控制台

在 Google Cloud Console 中执行以下任务:

  1. 转到 Google Cloud 控制台中的 Google Kubernetes Engine 页面。

    前往 Google Kubernetes Engine

  2. 在导航菜单中,点击 Backup for GKE

  3. 点击备份方案标签页。

  4. 展开集群,然后点击方案名称。

  5. 点击暂停时间表,然后点击确认对话框中的暂停时间表

删除备份方案

您可以使用 gcloud CLI 或 Google Cloud 控制台删除备份方案。如果备份方案包含任何备份,则无法将其删除。

gcloud

如需删除备份方案,请运行以下命令:

gcloud beta container backup-restore backup-plans delete BACKUP_PLAN \
    --project=PROJECT_ID \
    --location=LOCATION

如需查看选项的完整列表,请参阅 gcloud beta container backup-restore backup-plans delete 文档。

控制台

在 Google Cloud Console 中执行以下任务:

  1. 转到 Google Cloud 控制台中的 Google Kubernetes Engine 页面。

    前往 Google Kubernetes Engine

  2. 在导航菜单中,点击 Backup for GKE

  3. 点击备份方案标签页。

  4. 展开集群,然后点击方案名称。

  5. 点击 删除方案

  6. 输入备份方案名称,然后点击确认对话框中的删除备份方案

后续步骤