首页 > 解决方案 > 使用 kustomize 直接作为 secretGenerator 从 gcloud secrets manager 中查找秘密

问题描述

我正在使用(kustomize)设置我的Kubernetes集群。kubectl -k像任何其他这样的安排一样,我在部署过程中依赖一些秘密。我想要走的路线是使用从文件或环境变量中获取我的秘密的secretGenerator功能。kustomize

然而,以安全和可移植的方式管理所述文件或环境变量已证明是一项挑战。特别是因为我有 3 个单独的名称空间用于测试、阶段和生产,每个名称空间都需要一组不同的秘密。

所以我认为肯定有一种方法可以让我以我的云提供商的官方方式(谷歌云平台 - 秘密管理器)管理秘密。

那么secretGenerator访问存储在秘密管理器中的秘密会是什么样子呢?

我天真的猜测是这样的:

secretGenerator:
 - name: juicy-environment-config
   google-secret-resource-id: projects/133713371337/secrets/juicy-test-secret/versions/1
   type: some-google-specific-type

标签: kubernetesgoogle-cloud-platformkubernetes-secretskustomizegoogle-secret-manager

解决方案


我不知道有一个插件。Kustomize 中的插件系统有些新(大约 6 个月前添加),所以到目前为止还没有大量的插件系统,而 Secrets Manager 也只有几周的历史。你可以在https://github.com/kubernetes-sigs/kustomize/tree/master/docs/plugins找到文档来编写一个。它链接到一些用于秘密管理的 Go 插件,因此您可能可以使用其中一个并将其重新设计为 GCP API。


推荐阅读