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 图表中的多个环境变量 的相关文章

  • 更新 DaemonSet,无需像部署那样停机

    我想在任何节点上运行应用程序 每个节点应始终至少有一个实例 但允许更多实例 主要是在更新期间防止该 pod 和节点 停机 Kubernetes 部署更新通常通过启动一个新的 Pod 来进行 一旦可用 旧的 Pod 就会被终止 这很完美 但就
  • 我应该在 Kubernetes 前面添加 DMZ 吗?

    Kubernetes Ingress 是否足够安全 可以避免在 Kubernetes 前面添加 DMZ 来暴露 Pod 和服务 如果有人 黑进 Pod 会发生什么 Thanks 这是一个意见问题 所以我会用一个选项来回答 如果您遵循 这是非
  • 如何更改 Kubernetes 中的文件系统观察程序限制 (fs.inotify.max_user_watches)

    我在用着pm2 https github com Unitech pm2查看保存我的应用程序服务器的 NodeJS 程序源代码的目录 该程序在 Kubernetes 集群中运行 但是 我收到此错误 ENOSPC System limit f
  • 如何重置grafana的admin密码(由helm安装)

    我的密码曾经有效 但我不记得是否更改过 但是 我无法重置它 我尝试过但没有成功 kubectl get secret namespace default grafana o jsonpath data admin password base
  • 应用程序网关如何防止请求发送到最近终止的 Pod?

    我目前正在 Azure 中研究和试验 Kubernetes 我正在使用 AKS 和应用程序网关入口 据我了解 当 Pod 添加到服务时 端点会更新 入口控制器会不断轮询此信息 随着新端点的添加 AG 也会更新 当它们被移除时 AG 也被更新
  • K8s更改配置映射并更新应用程序日志级别

    我想更改在 K8S 上运行的 Golang 应用程序的登录配置 我在本地尝试了以下代码 它按预期工作 我正在使用 viper 来监视配置文件更改 这是带有日志配置的配置图 apiVersion v1 kind ConfigMap data
  • Kubernetes Pod 中的日志未显示

    我在 pod 中设置了 Kubernetes 并运行 grpc 服务 我成功命中服务上的端点 其中有 print 语句 但我在日志文件中没有看到任何日志 我之前在 Kubernetes 中运行 cron 作业时见过这种情况 并且日志仅在作业
  • 为什么ReadWriteOnce在不同的节点上工作?

    我们在 K8s 上运行的平台有不同的组件 我们需要在其中两个组件 comp A 和 comp B 之间共享存储 但我们错误地将 PV 和 PVC 定义为ReadWriteOnce即使这两个组件在不同的节点上运行 一切都正常 我们能够从两个组
  • 如何在 Helm 图表中配置 docker 入口点

    我有以下内容docker compose文件 我不明白如何设置working dir and entrypoint在掌舵deployment yaml 有人有关于如何执行此操作的示例吗 docker compose version 3 5
  • Docker For Windows CE:Kubernetes:无法连接到服务器 eof

    我根本找不到 无法连接到服务器 eof 的解决方案 希望我们能解决这个问题 并在将来搜索解决此问题时对某人有所帮助 我试图在屏幕截图中包含所有信息 如果需要更多信息 请告诉我 我已尝试添加所需的信息 如果您还需要或希望我尝试其他内容 请告诉
  • Kubernetes:没有定义端口的服务

    我想确认我们是否可以在 pod 中没有容器端口的情况下公开服务 在下面的示例中 pod 没有容器端口 但服务已定义端口 apiVersion v1 metadata name mypod namespace ggckad s8 labels
  • Flink 在 Kubernetes 上的部署和 Native Kubernetes 有什么不同

    黑白的主要区别是什么原生 Kubernetes https ci apache org projects flink flink docs stable ops deployment native kubernetes html and 库
  • kubernetes 上的 gitlab-ci 缓存与 minio-service 不再工作

    我正在运行 gitlab 10 4 3 和 gitlab runner 10 4 0 作为 kubernetes 部署 带有 kubernetes runner 和一个用于缓存的 minio server 我是按照安装的gitlab 文档
  • 如何在 Docker Desktop 上创建新的 Kubernetes 集群?

    我似乎不知道如何在我的计算机上运行的 Docker Desktop 实例上创建全新的 Kubernetes 集群 无论是 Mac 还是 PC 都没有关系 我知道如何设置当前集群上下文 但我只有一个集群 因此无法设置其他任何内容 What s
  • Helm 查找始终为空

    在部署 Kubernetes 应用程序时 我想检查资源是否已存在 如果是这样 则不应渲染 要存档此行为查找功能 https helm sh docs chart template guide functions and pipelines
  • Google Cloud Kubernetes 访问私有 Docker Hub 托管映像

    是否可以将私有镜像从 Docker Hub 拉取到 Google Cloud Kubernetes 集群 是否建议这样做 或者我是否需要将我的私有映像也推送到 Google Cloud 我阅读了文档 但没有发现任何内容可以清楚地解释这一点
  • 用于获取发布图表的 helm get 语法

    helm get help说 helm get 可用于获取有关版本的扩展信息 包括 用于生成版本的值 用于生成版本的图表 生成的清单文件 The 扩展信息有点有点模糊 但无论如何 Now 用于生成版本的值映射到helm get values
  • kubernetes kubectl 中的生成器是什么?

    当我想通过运行生成 yaml 时kubectl 它表示我应该表示 generator something命令内的标志 例如 要通过以下方式获取部署模板kubectl 我应该运行以下命令 kubectl run generator deplo
  • Kubernetes 滚动更新不停机?

    根据https kubernetes io docs tutorials stateful application basic stateful set scaling a statefulset https kubernetes io d
  • 找不到 Kubernetes 持久卷挂载

    我正在尝试创建并安装卷 但陷入困境 这部分创建存储 apiVersion v1 kind PersistentVolumeClaim metadata name pvclaim2 spec accessModes ReadWriteOnce

随机推荐

  • 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