如何在 Kubernetes pod 中指定 Google 服务帐户

How to specify Google service account in Kubernetes pod

我正在 Google 云平台上的 Kubernetes pod 中部署 Spring 启动应用程序。

我不想在我们的 pod 中使用 Compute Engine 默认服务帐户。

我们如何以及在哪里可以为我们的 pod 指定 Google 服务帐户?

假设您已经有 Role and RoleBinding referring to your service account, all you need to do is to create a context with apropriate service account as described

然后你就切换到这个上下文

kubectl config use-context default-context

有关如何管理上下文的更多详细信息,请查看 documentation

本指南https://cloud.google.com/kubernetes-engine/docs/tutorials/authenticating-to-cloud-platform#step_5_configure_the_application_with_the_secret帮助我设置了服务帐户。

Harold 关于将 pod 中的服务帐户凭据配置为秘密的建议很好,并且在很长一段时间内一直是推荐的方法。但是,Google 最近引入了 Workload Identity,它允许您 link 一个 k8s 服务帐户和一个 GCP IAM 服务帐户,然后您可以让您的 pod 运行 具有所述 k8s 服务帐户并使用随附的 IAM 权限