我有一个简单的应用程序,可以从数据存储获取和放置信息。无法从Google Kubernetes引擎群集访问Google Cloud Datastore
它的工作原理无处不在,但是当我从Kubernetes引擎集群中运行它,我得到这个输出:
Error from Get()
rpc error: code = PermissionDenied desc = Request had insufficient authentication scopes.
Error from Put()
rpc error: code = PermissionDenied desc = Request had insufficient authentication scopes.
我使用的是cloud.google.com/go/datastore
包和Go语言。
我不知道为什么我得到这个错误,因为应用程序在其他地方工作得很好。
更新:
寻找一个答案,我发现在谷歌群组这个评论:一对夫妇的配置
为了从GCE使用云存储,实例必须是额外的范围。这些不能被添加到现有 GCE实例,但你可以创建一个新的与 以下云SDK命令:
gcloud计算实例创建Hello-数据存储--project --zone --scopes数据存储用户信息 - 电子邮件
这是否意味着默认情况下我不能使用GKE中的数据存储?
更新2:
我可以看到我的创建群集时,我没有启用任何权限(这是默认情况下,大多数服务已禁用)。我想这是什么导致了问题:
奇怪的是,我可以用CLOUDSQL就好了,即使它已禁用(使用cloudsql_proxy
容器)。
你只是试图在实例本身的编辑权限? – vjdhama