---

title: Helm 分环境 values 管理与模板函数实践

keywords: values, include, toYaml, nindent, required, default, tpl

description: 通过多环境值文件与模板函数提升 Chart 可维护性与一致性,规范渲染与参数校验。

categories:

  • 文章资讯
  • 办公技巧

---

示例 values-dev.yaml:

env: dev
image:
  repository: registry.example.com/app
  tag: dev-20250101
resources:
  requests:
    cpu: 200m
    memory: 256Mi
extra:
  featureX: true

示例 values-prod.yaml:

env: prod
image:
  repository: registry.example.com/app
  tag: v1.2.3
resources:
  requests:
    cpu: 500m
    memory: 512Mi
extra:
  featureX: false

模板片段(ConfigMap 与校验):

apiVersion: v1
kind: ConfigMap
metadata:
  name: {{ include "app.fullname" . }}-config
data:
  APP_ENV: {{ .Values.env | quote }}
  IMAGE_REPO: {{ required "image.repository required" .Values.image.repository | quote }}
  IMAGE_TAG: {{ default "latest" .Values.image.tag | quote }}
  EXTRA: |
    {{- toYaml .Values.extra | nindent 4 }}

以 dev 环境安装/升级:

helm install app ./chart -f values-dev.yaml
helm upgrade app ./chart -f values-dev.yaml

使用 tpl 渲染可模板化值:

metadata:
  labels:
    rendered: {{ tpl "{{ .Values.env }}-label" . | quote }}

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论
立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部