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

舵图中的多个环境变量

赵智
2023-03-14

值文件得代码段.

env:
  name: ABC
  value: 123
  name: XYZ
  value: 567
  name:  PQRS
  value: 345

在deployment.yaml中,当引用值时,仅设置姓氏/值,其他值将被覆盖。如何读取/设置部署文件中的所有名称/值?

共有1个答案

芮宇航
2023-03-14

我已经经历了几次关于如何处理设置敏感环境变量的迭代。如下所示是目前为止我想出的最简单的解决方案:

模板:

{{- if or $.Values.env $.Values.envSecrets }}
env:
  {{- range $key, $value := $.Values.env }}
  - name: {{ $key }}
    value: {{ $value | quote }}
  {{- end }}
  {{- range $key, $secret := $.Values.envSecrets }}
  - name: {{ $key }}
    valueFrom:
      secretKeyRef:
        name: {{ $secret }}
        key: {{ $key | quote }}
  {{- end }}
{{- end }}

值:

env:
  ENV_VAR: value
envSecrets:
  SECRET_VAR: k8s-secret-name
  {{- range $key, $secret := merge (default dict .envSecrets) $.Values.globalEnvSecrets }}
 类似资料:
  • 当我运行helm时,我如何从本地环境变量中拉取USERNAME和PASSWORD的值? 这可能吗?如果是,那我该怎么做呢?

  • 问题内容: 我给人的印象是,可以如下将环境变量设置在一行上,以最大程度地减少中间图像。 但是,运行基于此代码段的容器并调用,我看到变量没有单独分配,而是组合为单个字符串。 但是,如果我按如下所示显式设置每个变量,则可以得到预期的输出,并且在调用变量时没有错误。 问题: 是否可以将环境变量的设置合并在一行上?如果是这样,我该怎么办?这是一个好习惯吗? 问题答案: 有两种用于指定环境的格式。如果您需要

  • 问题内容: Jenkins(管理jenkins->系统信息)下的环境变量从何而来? 我检查了/etc/init.d/tomcat5,/ usr / bin / dtomcat5,/ usr / bin / tomcat5,/ etc / sysconfig / tomcat5和/ etc / profile,但在那里没有看到任何此类变量,特别是与Oracle相关的变量(Base,Home,Ld_l

  • 我目前正在学习多线程,我发现了一些我无法解释的有趣的东西。据我所知,如果两个线程访问一个静态变量,它们可以将自己的副本复制到缓存中。Thread1对其本地缓存中的静态变量进行的更新不会反映在Thread2缓存的静态变量中。 java java

  • 问题内容: 我正在尝试为ProcessBuilder对象添加环境变量,但是当我在ProcessBuilder中调用该新变量时,出现错误。这就是我建立流程的方式 我得到了错误 我不明白,如果我只是为此过程设置变量,为什么会出现错误。请帮助我如何设置env变量,以便可以在ProcessBuilder中使用它。 问题答案: Alfredo O的示例为您提供了正确的想法。您需要告诉ProcessBuild

  • 问题内容: 我正在将我的项目从单纯的转变为使用Grunt。 我曾经直接从webstorm运行我的应用程序,并且会为我设置环境变量。 如何在Grunt中实现相同目标? 我需要从webstorm(windows)运行grunt,或在运行grunt时设置环境变量(明确地) 部署时这不是问题,因为heroku已经负责设置我的环境变量。 问题答案: 使用grunt-env插件:https : //npmjs