首页 > 解决方案 > GCP - 无法将磁盘附加到现有实例

问题描述

我正在尝试将新磁盘附加到现有实例。

我可以创建磁盘,但是,当我尝试附加它时,它会失败并出现以下错误:

找不到类型为“serviceAccount”的资源“xyz-compute@developer.gserviceaccount.com”。

是什么阻止了我,我该如何添加磁盘?

标签: google-cloud-platform

解决方案


John Hanley 要求的信息将非常有助于缩小问题范围并准确回答您的问题,但是,如果您有 3可能的选择:

a) 如果服务帐户在不到 30 天前被删除,仍然可以使用以下命令将其恢复:

gcloud beta iam service-accounts undelete ACCOUNT_ID

该命令的输出应如下所示:

restoredAccount:
  email: sa-name@project-id.iam.gserviceaccount.com
  etag: BwWWE7zpApg=
  name: projects/project-id/serviceAccounts/sa-name@project-id.iam.gserviceaccount.com
  oauth2ClientId: '123456789012345678901'
  projectId: project-id
  uniqueId: 'account-id'

您可以按照此处的步骤来恢复它。

b) 如果超过 30 天且无法取消删除,则必须创建一个新的服务帐户并将其设置为默认的 Compute Engine 服务帐户。这样做的步骤是:

  1. 使用您选择的名称创建一个新的服务帐户

您可以通过云控制台导航到 IAM -> 服务帐户页面并单击“+ 创建服务帐户”。或者,如果您更喜欢使用 gcloud 命令,您可以使用以下命令创建一个新帐户:

gcloud iam service-accounts create <NEW-SA-ACCT-NAME> --display-name="Compute Engine default service account"
  1. 通过 Cloud Console 服务帐号页面或使用 gcloud 命令获取与此服务帐号关联的电子邮件 ID:
gcloud iam service-accounts list
  1. 完成上述步骤后,您可以使用 alpha 命令将此新服务帐户设置为 Compute Engine 默认服务帐户:
gcloud alpha compute --project=peya-data-ops-pro project-info set-default-service-account --service-account=<NEW-SA-ACCT-NAME-EMAIL>

注意:此命令目前在 ALPHA 中,可能会更改,恕不另行通知。如果尽管指定了正确的项目,此命令仍因 API 权限错误而失败,您可能正在尝试使用仅限邀请的早期访问许可列表访问 API,如此处所述

c) 作为最后一个选项,只要您没有在 Compute Engine 中运行任何其他资源,或者您不介意丢失这些资源,您可以按照此处的步骤禁用 Compute Engine 服务,然后按照以下步骤重新启用它本指南将重新创建默认 SA,您将能够完成所需的过程。


推荐阅读