0Pricing
DevOps Bootcamp · 课时

构建并分享您自己的 Helm 图表

从图表使用者成长为图表作者:创建图表骨架,使用值为清单生成模板,将其打包并发布到仓库。

构建并分享您自己的 Helm 图表 是 CoddyKit 上的免费 DevOps Bootcamp 课时。 这是第 4 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 DevOps Bootcamp 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 DevOps Bootcamp 课程共包含 4 节课。

从使用者到创建者

您已经部署并定制了现有图表。现在,您将构建自己的图表,为应用打包,让其他人可以通过一条命令安装它。

搭建图表骨架

helm create 会生成一个带有合理默认值的图表骨架,您可以对其进行编辑。

helm create mychart
# creates mychart/ with Chart.yaml, values.yaml, templates/

Chart.yaml:元数据

Chart.yaml 描述图表,包括图表名称、版本以及它所部署的应用版本。

apiVersion: v2
name: mychart
description: A web app chart
type: application
version: 0.1.0
appVersion: '1.0.0'

模板与 Go 模板引擎

templates/ 中的文件是带有占位符的 Kubernetes 清单。Helm 使用带双大括号的 Go 模板语法填充这些占位符。

apiVersion: apps/v1
kind: Deployment
metadata:
  name: {{ .Release.Name }}-web
spec:
  replicas: {{ .Values.replicaCount }}
  template:
    spec:
      containers:
      - name: web
        image: {{ .Values.image.repository }}:{{ .Values.image.tag }}

values.yaml:默认值

values.yaml 保存模板通过 .Values 引用的默认配置。用户可以在安装时覆盖这些值。

replicaCount: 2
image:
  repository: myapp
  tag: '1.0.0'

使用 _helpers.tpl 创建辅助模板

可复用的代码片段以命名模板的形式存放在 _helpers.tpl 中,从而让标签和名称等清单内容保持 DRY。

{{- define "mychart.labels" -}}
app.kubernetes.io/name: {{ .Chart.Name }}
app.kubernetes.io/managed-by: {{ .Release.Service }}
{{- end }}

检查与渲染

安装之前,请验证图表,并预览渲染后的清单,而不要接触集群。

helm lint mychart
helm template mychart --set replicaCount=3

安装您的图表

直接从本地图表目录安装,以便端到端地测试图表。

helm install demo ./mychart --set image.tag=2.0.0
helm list

打包

helm package 会将图表打包成带版本号的 .tgz 归档文件,可供分发。

helm package mychart
# produces mychart-0.1.0.tgz

发布到仓库

您可以将图表托管在 HTTP 仓库中,也可以越来越多地将其作为 OCI 构件存储在容器注册表中。

helm push mychart-0.1.0.tgz oci://registry.example.com/charts
helm install demo oci://registry.example.com/charts/mychart --version 0.1.0

版本管理规范

  • 图表发生任何更改时,递增 version
  • 打包的应用发生更改时,递增 appVersion
  • 遵循语义化版本规范,让使用者知道可以期待什么

快速检查

测试您对图表创建的了解。

回顾

您学习了如何创建图表:使用 helm create 搭建骨架,在 Chart.yaml 中描述元数据,使用 .Values 和辅助模板创建清单模板,进行检查和渲染,然后打包并发布(包括发布到 OCI 注册表)。规范的版本管理可以保障使用者的安全。

常见问题解答

「构建并分享您自己的 Helm 图表」课时是免费的吗?

是的 — 「构建并分享您自己的 Helm 图表」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 DevOps Bootcamp 课程的其余内容,请升级到 CoddyKit PRO。 DevOps Bootcamp 课程共包含 4 节课。

「构建并分享您自己的 Helm 图表」这节课中我会学到什么?

从图表使用者成长为图表作者:创建图表骨架,使用值为清单生成模板,将其打包并发布到仓库。 你通过在浏览器中直接运行的动手代码来练习 DevOps Bootcamp,全天候 AI 导师会在你学习这节课的过程中回答你的问题。

学习 DevOps Bootcamp 需要有经验吗?

无需任何先前经验。CoddyKit 上的 DevOps Bootcamp 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 4 节课,共 4 节。

「构建并分享您自己的 Helm 图表」课时需要多长时间?

大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。

我能在这节 DevOps Bootcamp 课中编写并运行代码吗?

能。每节 DevOps Bootcamp 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。

此课程中的所有课时

  1. Helm Chart 简介
  2. 使用 Helm 部署应用
  3. 自定义与管理发布版本
  4. 构建并分享您自己的 Helm 图表
← 返回 DevOps Bootcamp