google-cloud-platform - GCP - 无法将磁盘附加到现有实例
问题描述
我正在尝试将新磁盘附加到现有实例。
我可以创建磁盘,但是,当我尝试附加它时,它会失败并出现以下错误:
找不到类型为“serviceAccount”的资源“xyz-compute@developer.gserviceaccount.com”。
是什么阻止了我,我该如何添加磁盘?
解决方案
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 服务帐户。这样做的步骤是:
- 使用您选择的名称创建一个新的服务帐户
您可以通过云控制台导航到 IAM -> 服务帐户页面并单击“+ 创建服务帐户”。或者,如果您更喜欢使用 gcloud 命令,您可以使用以下命令创建一个新帐户:
gcloud iam service-accounts create <NEW-SA-ACCT-NAME> --display-name="Compute Engine default service account"
- 通过 Cloud Console 服务帐号页面或使用 gcloud 命令获取与此服务帐号关联的电子邮件 ID:
gcloud iam service-accounts list
- 完成上述步骤后,您可以使用 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,您将能够完成所需的过程。
推荐阅读
- python - 将 f 弦深深嵌套在 r 弦中
- python - 使用约翰逊算法python代码在给定起始节点的有向图中查找最长循环
- css - Safari CSS 在 Iphone 和 Android Chrome 上看起来很糟糕
- html - 隐藏圆形按钮上的溢出
- c# - 使用列表从 DataTable 获取数据到类
- scala - 功能键按下流
- python - TypeError:“InMemoryUploadedFile”对象不支持索引
- c++ - 使用 MATLAB 调用 C++ 进行矩阵复制时如何找到我的数值错误?
- reactjs - React Material UI CardMedia 问题
- c++ - 创建和打印 2D 板功能,使用特定的种子值,不重复