当前位置: 首页 > 知识库问答 >
问题:

如何将来自Google Secret Manager的秘密作为环境变量注入Kubernetes Pod?

柯伟志
2023-03-14

我试图将我从Google Secret Manager获得的秘密作为环境变量注入Kubernetes Pod。

我需要把它作为环境变量,让我的NodeJS应用程序可以读取它。

我尝试了以下解决方案:如何将来自Google secret Manager的secret作为环境变量注入Kubernetes Pod?但对我来说不管用。

我还试图设置一个init容器,但它将秘密作为文件放入pod中。

任何想法?

谢谢

共有2个答案

吕自明
2023-03-14

结账https://github.com/GoogleCloudPlatform/secrets-store-csi-driver-provider-gcp.这是一个CSI驱动程序,用于安装机密管理器机密。

公孙棋
2023-03-14

您可以在云构建步骤中执行类似操作。

steps:
- name: '<secrets_to_configmap>'
  entrypoint: 'bash'
  args: ['USERNAME=$$USERNAME', 'PASSWORD=$$PASSWORD']
  secretEnv: ['USERNAME', 'PASSWORD']
availableSecrets:
  secretManager:
  - versionName: projects/PROJECT_ID/secrets/SECRET_NAME/versions/SECRET_VERSION
    env: 'PASSWORD'
  - versionName: projects/PROJECT_ID/secrets/SECRET_NAME/versions/SECRET_VERSION
    env: 'USERNAME'

docker映像secrets_to_configmap将从secrets manager获取机密,并创建一个可供pods使用的configmaps。

参考文献

 类似资料:
  • 问题内容: 我正在尝试通过“构建环境”部分中的选项在jenkins中设置密码,该选项可在我的测试中用于获取和使用密码。这是我正在检查“将密码作为环境变量注入到内部版本”的选项。问题是种子作业运行后,我将失去这些值。因此,我的添加值在种子作业运行后消失了。有人遇到过这个问题吗?如何使其永久化,以便每次我都可以在测试代码中检索到那些密码时? 问题答案: @daspilker和@JesseGlick,非

  • 问题内容: 在詹金斯(Jenkins)的工作中,我正在执行预构建中的一些操作,例如执行Shell脚本。通过使用Jenkins插件“ EnvInject”,我想将环境变量注入到我的Maven构建(单元测试)中,以便可以在Java单元测试中使用这些变量。在shell脚本中,即时消息执行类似以下操作: 在构建Jenkins时,输出以下内容: 但是“ ip”变量在我的Java代码(单元测试)中不可用。当我

  • 在Jenkins的工作中,我正在执行驻留在预步骤构建中的几个操作,例如执行外壳脚本。使用Jenkins插件EnvInject,我想将环境变量注入到我的maven构建(单元测试)中,以便在我的Java单元测试中使用。在外壳脚本IM做类似的事情: 在构建Jenkins时,输出以下内容: 但是“ip”变量在我的Java代码(单元测试)中不可用。当我完整打印两个我没有看到登记的“ip”。 我是否需要为ma

  • 我有一个特殊的用例,需要在html端呈现图像的完整url。前任;Facebook Open Graph需要完整图像url才能正常工作,相对图像或绝对路径无法正常工作。 我目前正在使用@vue/cli和typescript。我有以下组成部分: 上面的渲染很好,它会生成一个img标记,结果如下: 但假设我的领域是,以下是我想要的结果: 我不想在模板中硬编码任何东西。我想使用一个环境变量,这样我就可以在

  • 将来自Google secret Manager的秘密注入Kubernetes部署的最佳实践是什么?我已将Grafana实例的管理员密码存储到Google Secret Manager中。Grafana实例是使用Google Kubernetes引擎上的helm图表部署的。我确实尝试过使用kube secrets init,这是一个Kubernetes变异的网络钩子,它变异了任何引用秘密Googl

  • 问题内容: 我在标题为“将密码作为环境变量注入到构建”的构建配置部分中定义了密码: 我想在“活动选择”中使用MYVAR(未加密的值)。不幸的是,它不起作用。对MYVAR的引用失败。 在下面的示例中,为了进行测试,我只是尝试显示MYVAR的值作为选择。您可以看到它失败了,并改用了fallback active choices脚本。 最终,我想使用此变量对服务进行身份验证以构建选择列表,但是甚至无法在