如何使用Vault动态机密并将其作为环境变量注入Kubernetes部署中?

时间:2020-07-20 07:16:04

标签: kubernetes hashicorp-vault

我们在k8上运行了一个Vault集群(由helm部署)和一些微服务。 我们的MongoDB地图集连接字符串在微服务部署上配置为ENV。 我们希望继续使用ENV,而无需更改代码以读取Vault配置文件。因此,我们从这里尝试了示例:

https://www.vaultproject.io/docs/platform/k8s/injector/examples

向ENV的注入有效,但是当保管库旋转凭证时,我们需要重新创建将再次注入到ENV的容器。

我想知道如何在k8s上的ENV中使用保管箱中的动态机密功能。如果您有任何建议。

谢谢

1 个答案:

答案 0 :(得分:1)

如果您正在使用环境变量来注入机密,则只要机密发生变化(如您所知),就需要重新创建容器,因为环境变量仅在容器启动时生成-而不是可以为正在运行的应用程序更改环境变量。如果您希望您的应用程序支持运行时更改的凭据,那么恐怕需要对此应用程序添加支持(并且从使用env var更改为在需要时从文件中读取详细信息)。 / p>