helm 不使用 values.yaml 文件

Posted

技术标签:

【中文标题】helm 不使用 values.yaml 文件【英文标题】:helm doesnt use the values.yaml file 【发布时间】:2020-04-15 16:02:13 【问题描述】:

我正在使用 helm 安装 prometheus 算子和稳定图表 并按预期完成所有配置,

这是values.yaml

grafana:
  enabled: true
alertmanager:
  enabled: true
  alertmanagerSpec:
    replicas: 3
  image:
    repository: quay.io/prometheus/alertmanager
    tag: v0.20.0

当我运行helm install mon stable/prometheus-operator -n mon -f values.yaml 一切正常,我能够看到 3 警报管理器实例并在日志中看到版本 0.20.0

现在我需要做一些我创建的配置并使用helm create v2chart控制图表

将我的配置文件添加到图表的template 文件夹并添加以下requirements.yaml 并运行helm dep update ./v2chart

dependencies:
  - name: prometheus-operator
    version: 8.5.0
    repository: https://kubernetes-charts.storage.googleapis.com

我现在在 prometheus-operator-8.5.0.tgz 根目录下的图表文件夹中看到了

现在在根上运行我运行 helm helm install mon -f values.yaml . -n mon

它采用默认图表值,而不是我的 values.yaml 配置(我只看到 1 个版本为 0.19 的警报管理器实例)

我在这里错过了什么?

顺便说一句,我看到模板中的配置文件配置正确但是在安装过程中它没有使用values.yaml ...

【问题讨论】:

【参考方案1】:

我认为应该是这样的:

prometheus-operator: << this should match the name you are using in requirements.yaml for that particular subchart
  grafana:
    enabled: true
  alertmanager:
    enabled: true
    alertmanagerSpec:
      replicas: 3
    image:
      repository: quay.io/prometheus/alertmanager
      tag: v0.20.0

所以基本上你应该让它知道这些值是针对子图表的,而不是针对父图表的

https://helm.sh/docs/chart_template_guide/subcharts_and_globals/#overriding-values-from-a-parent-chart

【讨论】:

好的,我尝试这样做但是我收到了这个错误:Error: error unpacking values.yaml in v2chart: validation: chart.metadata is required 您可以将您的chart.yaml 编辑到问题中吗?和charts/index.yaml? 感谢这是我的错,不知何故我将 values.yaml 复制到了图表 yaml 我有一个问题,假设我需要创建这个图表,这取决于我的内部图表(一些其他自定义图表作为预先请求)它建议如何处理这种情况? 添加到requirements.yaml?如果我理解这个问题。您可能想创建另一个问题;)

以上是关于helm 不使用 values.yaml 文件的主要内容,如果未能解决你的问题,请参考以下文章

helm values.yaml 中的 alerting_rules.yml

Promtail 基本身份验证在 helm values.yaml 中使用 kubernetes 秘密

我可以使用 _helpers.tpl 中的函数在 helm 图表中填写 values.yaml 吗?

Helm / kube-prometheus-stack:我可以在 values.yaml 中为导出器创建规则吗?

helm Prometheus values.yaml 的 alertmanager.yml 部分中的 external_labels 配置出错

尝试使用 helm 在 Kubernetes Pod 中启动时,Keycloak 崩溃