Google cloud storage gci上的GKE 1.4.5(主节点和节点)无法访问云存储

Google cloud storage gci上的GKE 1.4.5(主节点和节点)无法访问云存储,google-cloud-storage,google-kubernetes-engine,google-container-os,Google Cloud Storage,Google Kubernetes Engine,Google Container Os,我正在尝试将我们的GKE集群(运行1.4.5)从容器vm迁移到gci。 我正在使用迁移指南 当我在gci节点上部署时,我无法访问云存储,我使用google cloud java 0.5.0库(与0.4.0相同);我得到的错误是权限不足,容器vm节点上没有问题 以下是我的群集权限: User info Enabled Compute Read Write Storage Read Writ

我正在尝试将我们的GKE集群(运行1.4.5)从容器vm迁移到gci。 我正在使用迁移指南

当我在gci节点上部署时,我无法访问云存储,我使用google cloud java 0.5.0库(与0.4.0相同);我得到的错误是权限不足,容器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"
    }

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

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

您如何在代码中使用默认GCE服务帐户或项目中的其他服务帐户验证请求?您还可以确认您的服务帐户是否在项目中设置了适当的权限(编辑器)?是的,所有内容都经过身份验证,具有适当的权限,同样,容器vm映像不会发生这种情况,只有GCI映像。我收到了来自GCP支持人员的回复,他们说GCI虚拟机上没有填充权限,我应该进行一次就地虚拟机更新。考虑到就地更新涉及的风险,我决定退出并留在该群集的容器vm上。我已删除了我的评论并将其添加为答案。您如何在代码中使用默认GCE服务帐户或项目中的其他服务帐户验证请求?您还可以确认您的服务帐户是否在项目中设置了适当的权限(编辑器)?是的,所有内容都经过身份验证,具有适当的权限,同样,容器vm映像不会发生这种情况,只有GCI映像。我收到了来自GCP支持人员的回复,他们说GCI虚拟机上没有填充权限,我应该进行一次就地虚拟机更新。考虑到就地更新所涉及的风险,我决定退出并留在这个集群的容器vm上。我已经删除了我的评论,并将其添加为一个答案。