首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Helm库图表返回无法计算type []接口{}中的字段值

Helm库图表返回无法计算type []接口{}中的字段值
EN

Stack Overflow用户
提问于 2020-07-01 02:49:18
回答 1查看 759关注 0票数 0

我正在遵循Helm docs here中的Helm Library图表示例。

原始示例在库图中有一个公共ConfigMap,定义如下:

代码语言:javascript
运行
复制
apiVersion: v1
kind: ConfigMap
metadata:
  name: {{ .Release.Name | printf "%s-%s" .Chart.Name }}
data: {}
{{- end -}}
{{- define "mylibchart.configmap" -}}
{{- include "mylibchart.util.merge" (append . "mylibchart.configmap.tpl") -}}
{{- end -}}

我正在处理一个图表,该图表要求我使用if语句来启用或禁用特定资源。在本例中,它是一个configmap,但它可以是一个HPA或蓝色/绿色图表中的部署。

当我按如下方式添加If语句时:

代码语言:javascript
运行
复制
apiVersion: v1
kind: ConfigMap
metadata:
  name: {{ .Release.Name | printf "%s-%s" .Chart.Name }}
data: {}
{{- end -}}
{{- define "mylibchart.configmap" -}}
{{- if .Values.configMapEnabled }}
{{- include "mylibchart.util.merge" (append . "mylibchart.configmap.tpl") -}}
{{- end -}}
{{- end -}}

其中.Values.configMapEnabled存在于values.yaml文件中,并设置为true

其他所有内容都与文档中描述的相同,即我使用一个简单的图表将库图表作为依赖项包含在内,然后运行:

helm install mydemo mychart/ --debug --dry-run

我收到以下错误:

代码语言:javascript
运行
复制
helm.go:84: [debug] template: mychart/templates/configmap.yaml:1:4: executing "mychart/templates/configmap.yaml" at <include "mylibchart.configmap" (list . "mychart.configmap")>: error calling include: template: mychart/charts/mylibchart/templates/_configmap.yaml:9:14: executing "mylibchart.configmap" at <.Values.configMapEnabled>: can't evaluate field Values in type []interface {}

为什么不计算Values字段?这似乎是一个作用域问题,但我无法解决它。

EN

回答 1

Stack Overflow用户

发布于 2020-07-01 17:43:16

我已经在我自己的设置上测试过了,看起来你没有在lib Chart中定义ConfigMap。

将其放在文件的开头:

代码语言:javascript
运行
复制
{{- define "mylibchart.configmap.tpl" -}}

同样,在您的例子中,lib ChartValues一无所知--它是由app Chart side定义的。另外,所有条件都应该放在app Chart中,而不是lib Chart中。

模式:

代码语言:javascript
运行
复制
parent/child chart -  chart dependencies, with global switches on/off

请参阅小节:dependnecies -> condition: (optional)

在您的案例中:

代码语言:javascript
运行
复制
$ helm install mydemo mychart/ --debug --dry-run --set configmap.enabled=false
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62664256

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档