为啥云构建说我缺少我的项目所需的“compute.instances.create”权限?
Posted
技术标签:
【中文标题】为啥云构建说我缺少我的项目所需的“compute.instances.create”权限?【英文标题】:Why cloud build saying I am missing Required 'compute.instances.create' permission for my project?为什么云构建说我缺少我的项目所需的“compute.instances.create”权限? 【发布时间】:2021-12-10 00:37:12 【问题描述】:我正在尝试使用“使用容器创建”方法,但出现以下错误:
错误:(gcloud.compute.instances.create-with-container)不能 获取资源:第 2 步: - 必需的“compute.instances.create” 许可 'projects/local_test_prod1283/zones/us-central1-a/instances/instanceapptraining'
我检查了项目 local_test_prod1283 确实有角色compute.instanceAdmin.v1
我的云构建yaml如下:
steps:
- name: gcr.io/cloud-builders/docker
args: ['build', '-t', 'gcr.io/local_test_prod1283/apptraining', '.']
- name: 'gcr.io/cloud-builders/docker'
args: ["push", "gcr.io/local_test_prod1283/apptraining"]
- name: 'gcr.io/cloud-builders/gcloud'
args: ['compute', 'instances', 'create-with-container', 'instanceapptraining', '--machine-type=n1-standard-1', '--zone=us-central1-a', '--preemptible', '--container-image=gcr.io/local_test_prod1283/apptraining']
我在这里错过了什么?
【问题讨论】:
【参考方案1】:使用 Cloud Shell:
gcloud projects add-iam-policy-binding $PROJECT --role roles/compute.instances.create --member='serviceAccount:test-proj1@@cloudbuild.gserviceaccount.com'
【讨论】:
这个答案是错误的,但你在正确的轨道上。该角色必须添加到以 @cloudbuild.gserviceaccount.com 结尾的 Cloud Build 服务帐号。 谢谢@JohnHanley,我可以编辑答案吗? 是的,当然。改进总是受欢迎的。【参考方案2】:没关系,我必须将 compute.instanceAdmin.v1 添加到 @cloudbuild.gserviceaccount.com。
【讨论】:
以上是关于为啥云构建说我缺少我的项目所需的“compute.instances.create”权限?的主要内容,如果未能解决你的问题,请参考以下文章
SocketIO(app)缺少所需的位置参数“模式”[关闭]
在构建应用程序目标的文件 XCTest 中缺少所需的架构 armv7