我们可以将多个GSA注释到Kubernetes服务帐户(GCP)吗?



我对云和GCP相当陌生。因此,我们有一个应用程序,使用pub sub,云存储,云sql和秘密管理器。这是使用舵图部署的。所有服务使用不同的服务帐户。因此,为了避免为这些服务保留json键,我尝试使用工作负载身份。因此,我创建了一个KSA并将其绑定到云sql服务帐户。我能够在helm ServiceAccountName字段中提供KSA名称,并且在没有为云sql服务帐户提供密钥的情况下工作正常。但是对于其他服务,我仍然使用key。所以我的问题是,我们是否可以将相同的KSA注释/绑定到其他服务帐户. 或者是否有某种方法可以让服务知道它们需要使用哪个SA进行身份验证?这里不支持对所有服务使用默认凭据。对于多个GSA,我不能得到很多关于一个ksa的信息。感谢你对上述问题的澄清。

我有点无能为力,因为我如何在工作负载身份地形脚本中为相同的KSA提供两个服务帐户。

这是一个1-m对1的关系:1个GSA对应1个KSA。

实际上,一个好的实践是每个服务有1个KSA。然后根据业务需要的权限,在KSA上绑定GSA。

如果2个服务具有相同的权限(并且您希望重用现有的GSA(因为每个项目限制为100个GSA)),您可以将您的2个KSA(每个服务一个)指向相同的GSA。

一个K8S业务只能定义一个KSA。