helm使用运维技巧(一)

韵味老鸟 2024-07-08 17:04:43

helm 使用运维技巧(一)

Q2:_helpers.tpl 文件

用于保存一些可以在该chart中复用的模板

一个名为 _helpers.tpl 的文件通常用于定义 Go 模板助手,语法如下:

{{- define "yourFnName" -}}{{- printf "%s-%s" .Values.name .Values.version | trunc 63 -}}{{- end -}}

然后您可以在 *.yaml 资源文件中使用它,如下所示:

{{ template "yourFnName" . }}

Q1:直接渲染出结果

通过: set list 查看是否格式字符不对

helm template pkslow-nginx/ --output-dir ./result

指定dev环境的配置

helm template pkslow-nginx/ --output-dir ./result -f pkslow-nginx/values-dev.yaml

#带debug模式

helm template meng-frontend/ --debug --output-dir ./result

helm template meng-frontend/ --output-dir ./result -f meng-frontend/values-dev.yaml

##

helm template meng/ --output-dir ./result

#取决于values.yaml 中对其他yaml文件是否开启enabled加载

如:

helm template umi-mo/ --output-dir ./result -f umi-mo/values-dev.yaml

原因:configmap.yaml pvc.yaml 未解析出来,values.yaml中配置

persistence:

enabled: false

config:

enabled: false

假如将上述配置文件参数修改为:true

再执行命令:

#解析后的文件,有参数未引入替换

如:service.yaml

app.kubernetes.io/instance: release-name

查看_helpers.tpl文件

{{/*

Selector labels

*/}}

{{- define "meta-app.selectorLabels" -}}

app.kubernetes.io/name: {{ include "meta-app.name" . }}

app.kubernetes.io/instance: {{ .Release.Name }}

{{- end }}

原因:helm template 未带发布安装名称,故未解析到 .Release.Name

可以使用 helm install 方式替换查看验证 (需要能够连接到k8s api-server)

helm install t1 --dry-run --debug umi-mo

0 阅读:18