首先创建Helm Chart结构并定义元信息与默认配置,接着在templates中使用Go模板编写Kubernetes资源清单,通过values.yaml提供可自定义参数,最后验证并部署或升级应用。

编写 Helm Chart 是管理 Kubernetes 应用部署的有效方式。Helm 作为 Kubernetes 的包管理工具,通过 Chart 将应用所需的资源(如 Deployment、Service、ConfigMap 等)打包,实现一键部署、版本管理和环境复用。下面介绍如何从零开始编写一个 Helm Chart 来管理你的 Kubernetes 应用。
创建 Helm Chart 结构
使用 Helm CLI 可快速生成标准 Chart 目录结构:
helm create myapp生成的目录结构如下:
- Chart.yaml:Chart 元信息,包括名称、版本、描述等
- values.yaml:默认配置值
- templates/:Go 模板文件,用于生成 Kubernetes 资源清单
- charts/:存放依赖的子 Chart
- .helmignore:指定打包时忽略的文件
你可以删除 templates/ 下的示例文件,根据实际应用重新编写模板。
定义应用资源模板
在 templates/ 目录中创建你需要的 Kubernetes 资源文件,例如:
- deployment.yaml:定义应用的部署方式
- service.yaml:暴露服务访问端口
- ingress.yaml(可选):配置外部访问路由
- configmap.yaml 或 secret.yaml:注入配置或敏感信息
模板中使用 Go template 语法引用 values.yaml 中的变量,例如:
apiVersion: apps/v1kind: Deployment
metadata:
name: {{ .Release.Name }}-backend
spec:
replicas: {{ .Values.replicaCount }}
template:
spec:
containers:
- name: {{ .Chart.Name }}
image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}"
这样可以通过 values.yaml 控制副本数、镜像版本等参数。
GNU makefile中文手册 pdf,文比较完整的讲述GNU make工具,涵盖GNU make的用法、语法。同时重点讨论如何为一个工程编写Makefile。阅读本书之前,读者应该对GNU的工具链和Linux的一些常用编程工具有一定的了解。诸如:gcc、as、ar、ld、yacc等本文比较完整的讲述GNU make工具,涵盖GNU make的用法、语法。重点讨论如何使用make来管理软件工程、以及如何为工程编写正确的Makefile。 本手册不是一个纯粹的语言翻译版本,其中对GNU make的一些语法
配置 values.yaml 提供灵活参数
values.yaml 是用户自定义配置的核心文件。合理设计结构能让 Chart 更易用。例如:
replicaCount: 2image:
repository: myregistry.com/myapp
tag: v1.2.0
service:
port: 80
targetPort: 8080
env:
LOG_LEVEL: info
DB_HOST: mysql.default.svc.cluster.local
部署时可通过命令行覆盖特定值:
helm install myapp ./myapp --set image.tag=v1.3.0,replicaCount=3测试与部署 Chart
在安装前,先验证模板渲染是否正确:
helm lint # 检查 Chart 是否符合规范helm template . # 查看生成的 YAML 内容
helm install myapp ./myapp --dry-run # 模拟安装,不真正部署
确认无误后进行部署:
helm install myapp ./myapp升级应用只需更新 values 或 Chart 内容,然后执行:
helm upgrade myapp ./myapp --set image.tag=v1.3.0基本上就这些。编写 Helm Chart 的关键是理解模板机制和 values 的作用范围。只要结构清晰、变量抽象合理,就能高效管理多环境 Kubernetes 应用部署。









