如何将 GKE 集群的 GKE 备份从一个项目恢复到另一个项目的 GKE 集群?

问题描述 投票:0回答:1

如何将 GKE 集群的 GKE 备份从一个项目恢复到另一个项目的 GKE 集群?

我需要将一个项目的 GKE 集群的 GKE 备份移动到另一个项目的 GKE 集群中。

  1. 我在源项目中创建了备份计划和备份。

  2. 我还通过下面的云 CLI 命令成功地在目标项目中创建了一个恢复计划,引用源项目备份计划和目标项目的 gke 集群。

gcloud beta container backup-restore restore-plans create RESTORE_PLAN \
    --project=PROJECT_ID \
    --location=LOCATION \
    --backup-plan=projects/PROJECT_ID/locations/BACKUP_LOCATION/backupPlans/BACKUP_PLAN_NAME  \
    --cluster=CLUSTER \
    --namespaced-resource-restore-mode=NAMESPACED_RESOURCE_RESTORE_MODE \
    --all-namespaces \
    --cluster-resource-conflict-policy=CLUSTER_RESOURCE_CONFLICT_POLICY \
    --cluster-resource-scope-selected-group-kinds=CLUSTER_RESOURCE_SCOPE \
    --volume-data-restore-policy=VOLUME_DATA_RESTORE_POLICY
  1. 当我们尝试使用步骤 2 的恢复计划将源项目的 GKE 备份中的备份恢复到目标项目的 GKE 集群时,我们收到以下错误消息。
gcloud beta container backup-restore restores create RESTORE \
    --project=PROJECT_ID \
    --location=LOCATION \
    --restore-plan=RESTORE_PLAN \
    --backup=projects/PROJECT_ID/locations/LOCATION/backupPlans/BACKUP_PLAN/backups/BACKUP

## Output
Restore execution
Status  Failed  
Status reason   googleapi: Error 403: Permission 'gkebackup.backups.execute' denied on 'projects/67114541833/locations/asia-south1/backupPlans/staging-cluster-backup-1/backups/stg-backup23', forbidden

我们已向源项目的 GKE 集群服务帐户添加以下权限

# [email protected]

Backup for GKE Admin
Backup for GKE Backup Admin
Kubernetes Engine Service Agent

我们已向源项目的 GKE Backup 服务帐户添加了与上述相同的权限

#[email protected]

Backup for GKE Admin
Backup for GKE Backup Admin
Kubernetes Engine Service Agent

我们已向目标项目的 GKE 集群服务帐户添加了与上述相同的权限

# [email protected]

Backup for GKE Admin
Backup for GKE Backup Admin
Kubernetes Engine Service Agent

我们已向目标项目的 GKE Backup 服务帐号添加了与上述相同的权限

#[email protected]

Backup for GKE Admin
Backup for GKE Backup Admin
Kubernetes Engine Service Agent

可以采取什么措施来解决这个问题? 需要向两个项目中的服务帐户添加哪些额外权限才能实现此场景?

google-cloud-platform google-kubernetes-engine backup
1个回答
0
投票
  1. 也许您没有为目标 GKE 分配正确的 IAM 角色 集群服务帐户有权访问源 GKE 集群 这就是您收到禁止错误消息的原因 在恢复操作期间。请参阅所需的 IAM 角色: 备份/恢复。 您正在向源和目标授予所有三个权限 项目尝试如下:
  • 要解决此问题,您需要将正确的 IAM 角色分配给 特殊服务帐号 Kubernetes Engine Service Agent ([电子邮件受保护]) 从目标项目(您要恢复到哪里)。
  • IAM 角色(可能是 GKE 管理员的备份)应分配在 将源项目(具有 GKE 备份的项目)添加到上述内容 服务帐户 ([电子邮件受保护]
  1. 您能否检查一下您是否已启用了 Backup for GKE 服务 在为任何 GKE 设置备份和恢复之前,在您的项目中 该项目中的集群。您可以启用 Backup for GKE 服务 使用 Google Cloud CLI 或 Google Cloud 控制台。
To enable the Backup for GKE service, run the following command:
   `gcloud services enable gkebackup.googleapis.com`

编辑:@devops-admin:经过如此多的分析并彻底解决此问题后,我想通知您无法将 GKE 备份从一个项目恢复到另一个项目。此外,Backup for GKE 是一项用于在同一项目内的 GKE 集群中备份和恢复工作负载的服务。

此问题已经存在 bug。请对此错误请求投赞成票,以获取有关此问题的未来更新,截至目前,产品工程团队正在等待该问题,目前还没有预计到达时间。

© www.soinside.com 2019 - 2024. All rights reserved.