1

我试图将GKE集群(运行1.4.5)从container-vm迁移到gci。 我使用的https://cloud.google.com/container-engine/docs/node-image-migrationGKE上的GKE 1.4.5(主节点)无法访问云存储

迁移指南当我得到我的一个GCI节点上部署,我无法访问云存储,我使用谷歌云的Java 0.5.0库(同样的问题与0.4.0);我得到的错误是权限不足,container-vm节点上没有问题。

这里是我的群集权限:

User info     Enabled 
Compute     Read Write 
Storage     Read Write 
Task queue     Enabled 
BigQuery     Enabled 
Cloud SQL     Enabled 
Cloud Datastore   Enabled 
Stackdriver Logging API Full 
Stackdriver Monitoring API Full 
Cloud Platform   Enabled 
Bigtable Data    Read Write 
Bigtable Admin   Full 
Cloud Pub/Sub    Enabled 
Service Control   Enabled 
Service Management  Read Write 
Stackdriver Trace   Disabled 
Cloud Source Repositories Disabled 

这里是我的错误:

com.google.cloud.storage.StorageException: Insufficient Permission 
at com.google.cloud.storage.spi.DefaultStorageRpc.translate(DefaultStorageRpc.java:202) ~[google-cloud-storage-0.5.0.jar:0.5.0] 
at com.google.cloud.storage.spi.DefaultStorageRpc.create(DefaultStorageRpc.java:253) ~[google-cloud-storage-0.5.0.jar:0.5.0] 
... 
Caused by: com.google.api.client.googleapis.json.GoogleJsonResponseException: 403 Forbidden 
    { 
     "code" : 403, 
     "errors" : [ { 
     "domain" : "global", 
     "message" : "Insufficient Permission", 
     "reason" : "insufficientPermissions" 
     } ], 
     "message" : "Insufficient Permission" 
    } 
+0

您如何使用默认的GCE服务帐户或您项目中的其他服务帐户在您的代码中验证请求?您也可以确认您的服务帐户是否在项目中具有适当的权限(编辑器)设置? – Faizan

+0

是的,所有的东西都经过认证,经过适当的许可,这再次不会发生在container-vm镜像中,而只是GCI镜像。我收到了来自GCP支持人员的回答,他说GXVM上的权限没有被填充,我应该做一个就地VM更新。考虑到就地更新涉及的风险,我决定选择退出并保留在此群集的container-vm上。 – user1568967

+0

我已删除我的评论,并将其添加为答案。 – Faizan

回答

1

我相信你已经创建了通过Web UI(云控制台)新的节点池。如果是这样,这是一个已知的UI问题,您没有选择为新节点池指定范围的选项。工程团队已经意识到了这一限制并正在进行修复。据说,如果未指定范围,则默认范围将用于新节点池。解决方法是使用带有gci映像类型的gcloud upgrade命令升级集群,或者您可以使用gcloud创建节点池并为它们提供必要的作用域,如here所述。