备份工作负载


本页面介绍如何使用 Backup for GKE 服务在 Google Kubernetes Engine (GKE) 中创建工作负载备份。

简介

备份会捕获两种形式的数据:

  • 配置备份:从正在备份的集群的 API 服务器中提取的一组 Kubernetes 资源说明。
  • 卷备份:一组与配置备份中找到的 PersistentVolumeClaim 资源相对应的卷。

如果您的备份方案定义了备份的时间表,则系统会自动根据该时间表创建备份。您也可以手动创建备份。例如,您可能希望在升级应用之前备份工作负载。

准备工作

创建备份方案

所需的角色

如需获得创建和管理备份所需的权限,请让您的管理员为您授予 Backup for GKE Backup Admin (roles/gkebackup.backupAdmin),该角色是项目的 Backup for GKE Admin (roles/gkebackup.admin) IAM 角色的子集。如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限

您也可以通过自定义角色或其他预定义角色来获取所需的权限。

创建手动备份

您可以使用 Google Cloud CLI 或 Google Cloud 控制台为备份方案手动创建备份。

gcloud

运行以下命令:

gcloud beta container backup-restore backups create BACKUP \
    --project=PROJECT_ID \
    --location=LOCATION \
    --backup-plan=BACKUP_PLAN \
    WAIT_OPTION

替换以下内容:

  • BACKUP:您要创建的备份的名称。
  • PROJECT_ID:您的 Google Cloud 项目的 ID。
  • LOCATION:父级备份方案的计算区域
  • BACKUP_PLAN:派生备份的父级备份方案的名称。
  • WAIT_OPTION:定义该命令何时应返回:

    • --async:命令会在收到服务确认后尽快返回;几乎是立即返回。
    • (默认):一旦服务指示集群中的代理开始备份过程,命令便会返回;通常会在几秒钟内返回。
    • --wait-for-completion:等到代理完成集群中的备份操作。这可能需要几分钟时间。

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

控制台

使用以下说明在 Google Cloud 控制台中创建手动备份:

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

    前往 Google Kubernetes Engine

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

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

  4. 展开集群并找到要为其创建备份的方案。

  5. 点击开始备份

  6. 输入备份名称和可选说明。

  7. (可选)设置在自动删除备份之前保留备份的天数。

  8. (可选)设置无法删除备份的天数。

  9. 点击开始备份

查看备份

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

gcloud

如需列出所有备份方案来查找某一备份方案,请运行以下命令:

gcloud beta container backup-restore backups list \
    --project=PROJECT_ID \
    --location=LOCATION \
    --backup-plan=BACKUP_PLAN

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

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

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

gcloud beta container backup-restore backups describe BACKUP \
    --project=PROJECT_ID \
    --location=LOCATION \
    --backup-plan=BACKUP_PLAN

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

控制台

使用以下说明在 Google Cloud 控制台中查看备份及其详情:

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

    前往 Google Kubernetes Engine

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

  3. 点击备份标签页。

  4. 展开备份方案,然后点击备份名称。

查看备份索引

备份索引提供备份中包含的资源的相关信息。通过备份索引,您可以确定特定资源是否进行了备份。备份索引会显示资源详细信息,例如资源名称、资源类型、群组和版本。

您可以使用 gcloud CLI 或 Google Cloud 控制台查看备份索引。

gcloud

查看备份中每个资源的群组、版本、种类和名称:

gcloud beta container backup-restore backups get-backup-index-download-url BACKUP \
    --project=PROJECT_ID \
    --location=LOCATION \
    --backup-plan=BACKUP_PLAN

该命令会生成一个网址,供您查看和下载备份索引。该网址会在 10 分钟后过期。

如需查看选项的完整列表,请参阅 gcloud beta container backup-restore backups get-backup-index-download-url 文档。

控制台

请按照以下说明在 Google Cloud 控制台中查看备份索引及其详细信息:

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

    转到 Google Kubernetes Engine。

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

  3. 点击备份标签页。

  4. 展开备份方案,然后点击备份名称。

  5. 点击备份索引

查看卷备份

在备份范围内遇到 PersistentVolumeClaims 时,代理会自动创建卷备份资源。 每个卷备份对应一个永久性磁盘快照。代理会在备份操作的过程中自动创建和管理这些资源。 您可以使用 gcloud CLI 或 Google Cloud 控制台查看卷备份及其详细信息。

gcloud

如需列出所有卷备份来查找某一备份,请运行以下命令:

gcloud beta container backup-restore volume-backups list \
    --project=PROJECT_ID \
    --location=LOCATION \
    --backup-plan=BACKUP_PLAN \
    --backup=BACKUP

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

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

gcloud beta container backup-restore volume-backups describe VOLUME_BACKUP \
    --project=PROJECT_ID \
    --location=LOCATION \
    --backup-plan=BACKUP_PLAN \
    --backup=BACKUP

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

控制台

请按照以下说明在 Google Cloud 控制台中查看卷备份详细信息:

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

    转到 Google Kubernetes Engine。

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

  3. 点击备份标签页。

  4. 展开备份方案,然后点击备份名称。

  5. 点击存储内容标签页。

    备份会显示以下存储内容详细信息:永久性卷声明名称、永久性卷名称、命名空间、磁盘句柄、卷类型和卷备份名称。

  6. 点击卷备份以查看卷备份详情。

更新备份

您可能希望修改备份的相关信息,例如其说明或标签。更改说明或标签不会影响备份的处理方式。

您可能还需要修改备份的保留政策,例如保留备份的时长,或者无法删除备份的时间段。您只能增加保留政策参数。

可以使用 gcloud CLI 或 Google Cloud 控制台更新备份。

gcloud

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

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

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

控制台

使用以下说明在 Google Cloud 控制台中更新备份:

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

    前往 Google Kubernetes Engine

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

  3. 点击备份标签页。

  4. 展开备份方案,然后点击备份名称。

  5. 点击 修改以修改备份部分,然后点击保存更改

删除备份

您可以通过以下两种方式删除备份:

  • 如果备份方案定义了保留期限,则为该方案创建的备份会在该期限到期后自动删除。
  • 您可以手动删除备份。

如果此备份的备份方案定义了备份的最短生命周期,并且配置了 --backup-delete-lock-days 标志,则在此生命周期过期之前,都无法删除为该方案创建的备(无论是自动删除还是手动删除)。

您可以使用 gcloud CLI 或 Google Cloud 控制台手动删除备份。

gcloud

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

gcloud beta container backup-restore backups delete BACKUP \
    --project=PROJECT_ID \
    --location=LOCATION \
    --backup-plan=BACKUP_PLAN

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

控制台

使用以下说明在 Google Cloud 控制台中删除备份:

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

    前往 Google Kubernetes Engine

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

  3. 点击备份标签页。

  4. 展开该方案,然后点击备份名称。

  5. 点击 删除备份

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

后续步骤