Kubernetes Helm Charts 实战指南 (2026年03月27日) Helm简介 Helm是Kubernetes的包管理器,被广泛称为"Kubernetes的apt/yum"。它允许开发者和运维团队定义、安装和升级复杂的Kubernetes应用程序。 Helm Charts的核心概念 Chart结构 一个Helm Chart包含以下关键组件: Chart.yaml:定义Chart的元数据(名称、版本、描述等) values.yaml:默认配置值,可以被用户覆盖 templates/:存放Kubernetes资源模板的目录 templates/deployment.yaml:Deployment资源定义 templates/service.
Helm是Kubernetes的包管理器,被广泛称为"Kubernetes的apt/yum"。它允许开发者和运维团队定义、安装和升级复杂的Kubernetes应用程序。
一个Helm Chart包含以下关键组件:
# 创建一个新的Chart helm create my-app # Chart目录结构 my-app/ Chart.yaml values.yaml values.schema.json charts/ templates/ .helmignore README.md
在templates/deployment.yaml中使用Go模板语法:
apiVersion: apps/v1 kind: Deployment metadata: name: {{ include "my-app.fullname" . }} labels: app.kubernetes.io/name: {{ include "my-app.name" . }} spec: replicas: {{ .Values.replicaCount }} selector: matchLabels: app.kubernetes.io/name: {{ include "my-app.name" . }} template: metadata: labels: app.kubernetes.io/name: {{ include "my-app.name" . }} spec: containers: - name: {{ .Chart.Name }} image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" ports: - containerPort: {{ .Values.service.port }}
# 安装Chart helm install my-release ./my-app # 使用自定义values安装 helm install my-release ./my-app -f custom-values.yaml # 列出已安装的releases helm list # 升级release helm upgrade my-release ./my-app # 回滚到之前的版本 helm rollback my-release 1 # 卸载release helm uninstall my-release
helm lint和helm template验证ChartHelm Charts已经成为Kubernetes应用管理的标准方式,掌握它对于现代云原生应用开发至关重要。