问题标签 [helm3]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
168 浏览

kubernetes - 舵图。我无法通过 --set 向容器发送命令

在 deployment.yaml 中:

我尝试添加:

然后我尝试传递命令:

但没有任何效果。

如何通过--set pass?

谢谢你。

0 投票
1 回答
284 浏览

kubernetes-helm - Helm 依赖范围失败

拿一个伞形图来说,伞形图,有一个子图,sub_chart:

伞图在 Chart.yaml 中定义如下依赖项:

而 sub_chart 有一个 Chart.yaml 像:

作为我的 CI/CD 管道的一部分,我想在打包和推送之前将 Jenkins 内部版本号附加到 sub_chart 的版本号。这工作正常。对于 build 123,我最终将 0.1.0-123 版本推送到本地开发。

但是,当我运行时,出现helm dep up umbrella_chart以下错误:

我认为使用波浪号可以让 helm 使用 >0.1.0 和 <0.2.0 的任何图表版本?我是否需要在我的仓库中有一个 0.1.0 版本的 sub_chart 才能构建伞形图?它会在那个实例中使用正确的 0.1.0-123 版本的 sub_chart 吗?

谢谢你的帮助

0 投票
3 回答
383 浏览

kubernetes-helm - 如何在 helm3 图表中设置字段应用程序版本?

我在 k8s 中使用 helm 升级我的 spring 应用程序。我有默认图表并使用命令

在 dir my-app-chart 我有文件 Chart.yaml

我希望 helm 评估字段 appVersion 并且在 helm history 我看到 123,但现在我看到了

如何正确设置字段 appVersion?

0 投票
2 回答
215 浏览

kubernetes-helm - 为工作创建掌舵图

我正在为我想在我们的 k8 集群中运行的作业创建一个掌舵图。当您执行helm create它时,它会创建我不需要的模板。

有没有办法只创建一个只包含 job.yaml 的模板?

0 投票
1 回答
164 浏览

kubernetes - 有没有办法为 helm post-install hook 启用 shareProcessNamespace?

我正在运行一个带有 3 个容器(telegraf、fluentd 和一个内部代理)的 pod,它使用shareProcessNamespace: true.

我编写了一个 python 脚本来从中央控制器 API 端点获取电报的初始配置和流利的。由于这是一次性操作,我计划使用 helm post-install hook。

在获取配置之前,python 脚本需要检查 telegraf/fluentd/agent 进程是否已启动。我打算等待(超时)直到pgrep <telegraf/fluentd/agent>返回 true,然后触发 API。有没有办法启用shareProcessNamespace安装后挂钩?谢谢。

PS:目前,代理调用python脚本及其自己的启动脚本。它有效,但它很笨拙。我想将其移出代理容器。

0 投票
1 回答
78 浏览

kubernetes - 使用字典拆分和范围的 Helm 模板缩进错误

我正在尝试设置在我的 helm 图表中拥有动态数量的 volume 和 volumeMounts 的能力。这是我的 deployment.yaml 的外观:

在 values.yaml 我有这样的东西:

我正在做的是检查是否为 hostPath 定义了任何内容。如果有我创建一个字典,用':'分割项目。在第一个示例中,只有一个值字符串,因为 : 分隔符不存在。然后它执行一个循环范围(如果有多组值由':'分隔),然后它用逗号分割一组值。

因此,对于第一个示例,使用 helm install 可以正常工作:

类型字段是可选的,所以我有一个块来检查它是否已定义,如果没有,它不会在 yaml 中呈现它。所以在我的下一个例子中,当我在最后一个逗号之后没有任何价值时,它也可以工作:

但是现在,如果我尝试添加第二组数据,以“:”分隔,则在 helm install 时会失败:

当然它提到了一个标签,但我不太清楚问题是什么。我已经使用相同的代码(dict、range、split)来填充配置映射中的多个条目,所以我认为它可以工作。但显然我在这里遗漏了一些东西。任何帮助,将不胜感激。

0 投票
1 回答
38 浏览

kubernetes-helm - 舵。执行 bash 脚本以选择正确的图像

头盔文件:

我想执行 bash 脚本来检查这个图像是否存在。如果没有,则将拍摄其他图像。helm如何做到这一点?或者有什么解决办法吗?

0 投票
1 回答
43 浏览

spring - 用于 configmap 的 Helm 模板预定义数组迭代

嗨,我们在 values.yaml 中有 listenerProcessor 数组,如下所示

为此,我们需要合并我们预定义的一组 listenerProcessor 数组,该数组未通过 values.yaml 公开,如下所示

所以要将这两个合并为单个属性并对其进行迭代,在 _helper.tpl 中定义了一个变量

现在我需要在 NOTES.txt 中的.name.port上对其进行迭代,但它给出了错误“<.name>: can't evaluate field name in type interface {}”。在 NOTES.txt 我有这个

当我只打印$element & $index这些值时,它显示在输出下方

监听处理器

0 投票
1 回答
182 浏览

kubernetes-helm - 如何使用带有默认空/空值的 toyaml?

我真的想避免“如果”条件,因为这感觉像是可以以更易读的方式处理的东西。

我有这样的价值:

并像这样使用它:

但是这个值可能是空的,我想支持它。因此,如果healthChecks:未指定该值,则图表不会呈现它。我该怎么做呢?

我希望 toYaml 足够聪明,可以看到 .Values.healthChecks 为空并且不执行任何操作,但会引发错误:unable to parse YAML: error converting YAML to JSON: yaml: line X: could not find expected ':'

我真的需要一个 if 条件吗?如果值为空,是否有内置方法让 toYaml 什么也不做?

0 投票
1 回答
34 浏览

kubernetes-helm - 让 Helm 在图表中包含文件但不解析它们并能够使用 -f 引用它们

现在我的应用程序存储库的目录如下所示:

图表在myappChart/其中,我的 dev/prod 设置在 dev/prod yaml 文件中。在部署时,如果它是 dev 或 prod,则提供正确的配置-f

我想将我的 dev/prod YAML 文件包含在图表本身中。因此,当我将图表推送到存储库时,它包含配置,当我将其拉下时,我得到图表及其配置。

Helm 支持这个吗?这不是 helmignore 用例。我想将这些文件包含在图表中,但我不希望 helm 像处理清单一样处理它们 - 它们是值文件(但不是默认的 values.yaml 文件,特定于 env 的文件)。

我想要避免的是一些奇怪的事情,比如命名文件 dev.yaml.deploy 然后让脚本在运行 helm upgrade 之前拉下图表并移动和重命名这些文件。-f当它被拉下时,引用它们并将它们放在图表的文件夹中会很好。