默认情况下,我的Pod运行哪个服务帐户?

时间:2019-01-03 12:05:17

标签: service-accounts google-kubernetes-engine google-cloud-stackdriver

当我在GKE上创建了带有某些节点的集群时,Google会将我的请求解释为哪个用户? 例如。如果我在其中一个节点上打开控制台并对Stackdriver API进行API调用。 API认为我是哪个用户?

$ kubectl exec -it my-app bash
$ rails c
irb(main):005:0* Google::Cloud::ErrorReporting.report \
                 Exception.new(msg: "from console")
=> nil
irb(main):006:0> {:msg=>"from console"} (Exception)
Google::Cloud::PermissionDeniedError: 7:User not authorized.

我以为我是 Compute Engine默认服务帐户,但这不对吗?我为该服务帐户授予了“所有者”角色进行测试,但仍然失败。

我是否需要在GKE的Docker映像上安装gcloud,以便在启动rails之前可以以具有正确角色的身份验证为服务帐户?

1 个答案:

答案 0 :(得分:0)

我认为您的问题在这里得到了回答: https://cloud.google.com/kubernetes-engine/docs/tutorials/authenticating-to-cloud-platform

您需要为要用于访问API的服务帐户使用json密钥,作为GKE集群中的秘密。