Helm 图表中的多个环境变量

2024-01-06

我创建了常见的舵图。在值.yml文件中,我有一组环境变量需要设置为deployment.yaml 文件的一部分。

值文件的片段。

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

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


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

模板:

{{- 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 }}

values:

env:
  ENV_VAR: value
envSecrets:
  SECRET_VAR: k8s-secret-name

Pros:

语法非常简单

键很容易合并。当使用共享密钥创建 CronJobs 时,这非常有用。我可以使用以下内容轻松覆盖“全局”值:

  {{- range $key, $secret := merge (default dict .envSecrets) $.Values.globalEnvSecrets }}

Cons:

这只适用于与环境变量名称完全匹配的密钥,但这似乎是典型的用例。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Helm 图表中的多个环境变量 的相关文章

随机推荐

  • C#:当存在多个类型参数时,为什么泛型类型推断不起作用?

    这是两个示例 这工作正常 void Main var list Queryable ProjectTo typeof Projection public static class QueryableExtensions public sta
  • 负载均衡器后面的 SilverStripe

    我有一个 SilverStripe 实例在 AWS 负载均衡器后面的两台服务器上运行 为了共享会话信息 我正在运行 Elasticache Redis 服务器 我将我的 php 会话存储信息设置为 ini set session save
  • 使用 JavaScript 将 JSON 文件转换为 CSV

    我正在尝试使用 JavaScript 将 JSON 文件转换为可以在 Excel 中打开的 csv 我拥有的 function exportToCsv filename rows var processRow function row va
  • 如何调试 Node.JS 子进程?

    我正在尝试调试使用以下命令创建的子 Node JS 进程 var child require child process child fork dirname task js 问题是 当在 IntelliJ WebStorm 中运行时 父进
  • 未捕获的类型错误:dispatcher.useSyncExternalStore 不是函数

    我正在尝试使用 useSelector 和 useDispatch 更改 bulma 模型的状态像这样 const isState useSelector state gt state isActiveState Model js 是 im
  • GTK 程序运行时如何禁用屏幕保护程序/电源管理/屏幕消隐?

    问题 有没有办法阻止 X 会话启动屏幕保护程序 进入省电模式或通过代码执行屏幕空白 我正在做什么 语言 C C 图形用户界面框架 GTK3 硬件 树莓派3B 软件 Raspbian 10 Buster 我的程序需要在屏幕上长时间运行 最多
  • 如何对数据库依赖行为进行单元测试 C#

    我有一个与数据库通信的 C 应用程序 我想测试一些依赖于数据库的功能 所以我想确保数据库在每次测试运行之前都有一个初始状态 我使用 NUnit 来测试我的应用程序 有什么方法可以恢复DB的初始状态 感谢您的帮助 您不对与数据库的交互进行单元
  • Blazor WASM 启动时加载初始数据的最佳位置在哪里

    我正在构建 Blazor 应用程序 需要在应用程序启动时加载一些初始数据 以便我可以将数据放入 CascadingPerameter 中以供其他组件使用 我想知道调用服务来读取此数据的最佳位置在哪里 一般来说 您应该使用服务来获取数据 服务
  • 根据 ASP.NET MVC 中的控制器属性向视图模型添加错误消息

    我的控制器上有一个用于授权的自定义属性 其详细信息可以是在这里查看 https stackoverflow com questions 4342271 asp net mvc forms authorization with active
  • 使用 Flask-Script / Python 从标准输入读取

    现在我有flask script 命令 它将路径作为参数 然后从路径中读取 manager option f file dest file path def my command file path open file path 我希望它也
  • 如何制作动态选项菜单?

    问题是按下菜单按钮时会调用一次以下方法 public boolean onCreateOptionsMenu Menu menu 如何稍后重新创建菜单以更改某些选项 禁用某些选项等 覆盖这个 onPrepareOptionsMenu 菜单菜
  • 发送带有多个附件的电子邮件

    我正在尝试发送一封包含多个附件的电子邮件 Intent emailIntent new Intent Intent ACTION SEND MULTIPLE emailIntent putExtra Intent EXTRA EMAIL n
  • 使用python smtplib发送邮件错误

    我正在尝试使用 python 3 2 SMTPlib sendmail 函数 对 SMTP 库进行一些修改后 即 注释掉抑制错误消息的 rset 函数 我设法从服务器检索到以下错误消息 发送邮件失败 554 b 交易失败 由于可能滥用 无法
  • 触摸后保持 UIButton 处于选中状态

    用户单击按钮后 我希望在执行网络操作期间该按钮保持按下状态 当网络操作完成后 我希望按钮返回到默认状态 我试过打电话 UIButton setSelected YES 按下按钮后 相应地调用 UIButton setSelected NO
  • ERRO 003 尝试连接到本地对等点时出错:超出上下文截止时间

    继我之前的question https stackoverflow com questions 47699785 error error endorsing chaincode rpc error code unknown desc fai
  • Python:海量数据的 One-hot 编码

    我在尝试编码时不断遇到内存问题字符串标签到one hot编码 大约有 500 万行和大约 10000 个不同的标签 我已尝试以下方法 但不断出现内存错误 from sklearn import preprocessing lb prepro
  • 如何在我的 Powershell 脚本中使用 Jenkins 变量

    我通过编写了一个简单的脚本PowerShell收集一些文件并将它们压缩到一个文件夹中 我们称之为Script ps1 我想让脚本在每次 Jenkins 进行新构建时运行 但是我也希望 zip 文件的名称是BUILD NUMBER 我怎样才能
  • WPF 弹出窗口替代方案

    我有一个带有弹出窗口的窗口 当双击列表视图中的项目时会弹出该窗口 它以主窗口为中心 漂浮在那里看起来非常漂亮 问题是当用户移动主窗口或选择另一个程序时 弹出窗口会漂浮在其他内容之上 我想要一个类似弹出窗口的东西 这意味着它浮动在窗口中其他元
  • 使用 JavaDoc 记录 Map 的标准方法是什么?

    我正在记录一些代码 并且我有一个私有 HashMap 我想指定有关键和值的期望信息 现在我有 HashMap where key word value part of speech private HashMap
  • Helm 图表中的多个环境变量

    我创建了常见的舵图 在值 yml文件中 我有一组环境变量需要设置为deployment yaml 文件的一部分 值文件的片段 env name ABC value 123 name XYZ value 567 name PQRS value