繁体   English   中英

在 Kubernetes 服务帐户中使用 Google 服务帐户密钥文件作为 GKE 工作负载身份的测试环境替代品

[英]Using a Google service account keyfile in a Kubernetes serviceaccount as a testing environment replacement for GKE workload identity

我有一个 GKE 应用程序,它使用 kubernetes 服务帐户链接到 Google 服务帐户,以在应用程序内进行 api 授权。

到目前为止,为了在本地测试这些,我有两个版本的图像 - 一个有一个没有 test-keyfile.json 复制到其中进行授权。 (生产镜像使用 serviceaccount 进行授权,测试环境将忽略 serviceaccounts,而是寻找在镜像构建期间复制的密钥文件。)

我想知道是否有办法将图像合并为一个,并让产品/测试都使用 Kubernetes 服务帐户进行授权。 在生产中,使用 GKE 的工作负载身份,在测试中,使用与 Kubernetes 服务帐户链接或注入的密钥文件。

这样的事情可能吗? 有没有更好的方法在本地测试环境中模拟 GKE 工作负载身份?

我不知道在非 Google Kubernetes 集群上模拟工作负载身份的方法,但您可以更改您的应用程序以从卷/文件或元数据服务器读取身份验证凭据,具体取决于环境设置。 有关如何根据环境变量使用本地凭据或 Google SA 进行身份验证的示例,请参阅这篇文章(尤其是那里链接的代码)。文章还展示了如何使用 Pod 覆盖将 prod vs dev 更改与大部分配置。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM