首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用自定义服务账号从GKE拉取GCR中的Docker镜像

问使用自定义服务账号从GKE拉取GCR中的Docker镜像
EN

Stack Overflow用户
提问于 2020-05-15 17:54:04
回答 2查看 569关注 0票数 1

在Google Cloud平台上,我有两个项目:project-a和project-b

在project-a中,我有一个Google Container Registry (GCR),在project-b中,我有一个私有的Google Kubernetes Engine (GKE)集群(具有云NAT和private Google Access)。在project-b中,我有一个由GKE集群使用的自定义服务账户(在集群创建时配置,而不是默认的compute服务账户。因此,我也不需要配置访问范围)。

根据文档,为了能够在project-a中从GCR中拉取图像,我在project-a中授予了自定义服务帐户"Storage Object Viewer“对相应GCS bucket的权限。

但是,我一直收到GKE无法拉取镜像的错误消息。不过,存储桶上的权限看起来很好:如果我为自定义服务帐户生成一个密钥文件,从它创建一个kubernetes.io/dockerconfigjson密钥,并使用该密钥作为imagePullSecrets,那么节点就能够拉取图像。

我的假设是不需要创建这个秘密,因为GKE节点已经使用了自定义服务帐户。这里出了什么问题?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-05-26 02:51:29

我找到了解决方案,似乎我仍然必须配置访问范围(storage-read),即使我使用的是自定义服务帐户。我的假设是,当对节点池使用自定义服务帐户时,不必配置访问作用域;只需允许GCR bucket上的自定义SA Storage Object Viewer权限就足够了。

票数 1
EN

Stack Overflow用户

发布于 2020-05-15 18:37:39

在官方文档中,服务帐户访问节点是独一无二的。

文档:https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/

例如,如果使用官方文档和建议方法创建secret并使用它,则每个部署都可能有不同的私有存储库。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61816472

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档