0Pricing
Helm Academy · 课时

声明库图表类型

将类型设置为 library 及其限制

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

两种 Chart 类型

每个 Helm Chart 都会在 Chart.yaml 中声明一个 type。默认值是 application,但还存在一种专门用于共享模板逻辑的类型。

# Chart.yaml
apiVersion: v2
name: my-app
type: application

使用库型 Chart

设置 type: library 后,该 Chart 就不再是可安装的对象,而会变成一个供其他 Chart 复用的命名模板工具箱。

# Chart.yaml
apiVersion: v2
name: common
version: 0.1.0
type: library

库型 Chart 不会渲染任何内容

库型 Chart 不会自行生成 Kubernetes 对象。它只会定义模板,供使用它的 Chart 在渲染时调用。

无法安装库型 Chart

对库型 Chart 运行 helm install 会失败。因为没有任何内容需要部署,Helm 会按照设计拒绝该命令。

helm install c ./common
# Error: library charts are not installable

顶层 templates 不会生成输出

库型 Chart 的 templates 文件夹中的文件不会被渲染为清单。它们只能定义局部模板,不能直接输出 YAML。

下划线约定

Helm 会跳过 templates 中以下划线开头的文件。库模板文件使用类似 _deployment.tpl 的名称,以保持不被渲染。

common/
  Chart.yaml
  templates/
    _deployment.tpl

必须使用 apiVersion v2

库型 Chart 只能在 apiVersion: v2 下存在。Helm 2 时代的 v1 Chart 根本没有库型这一概念。

# Chart.yaml
apiVersion: v2
type: library

像任何 Chart 一样进行版本管理

库型 Chart 仍然需要 version 字段,以便使用方固定所使用的版本。请将它视为真正的发布产物,而不是一个随意的文件夹。

# Chart.yaml
name: common
version: 1.2.0
type: library

为什么要使用库型 Chart

与其将相同的 Deployment YAML 复制到十个 Chart 中,不如在库中一次性编写,然后让每个 Chart 引入它。

Bitnami Common 是经典示例

广泛使用的 bitnami/common Chart 是一个库。数百个 Chart 依赖它提供共享的标签、名称和镜像辅助函数。

应用型与库型 Chart 对比

application Chart 会部署工作负载;library Chart 只提供模板。单个 type 字段决定 Helm 将其视为哪一种 Chart。

type: application  # installs resources
type: library      # shares templates

快速检查

您在 Chart.yaml 中设置了 type: library。对它运行 helm install 时会发生什么?

回顾:库型 Chart

type: library Chart 不会渲染任何内容,也无法安装。它只用于打包命名模板,供其他 Chart 复用。📦

常见问题解答

「声明库图表类型」课时是免费的吗?

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

「声明库图表类型」这节课中我会学到什么?

将类型设置为 library 及其限制 你通过在浏览器中直接运行的动手代码来练习 Helm Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。

学习 Helm Academy 需要有经验吗?

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

「声明库图表类型」课时需要多长时间?

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

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

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

此课程中的所有课时

  1. 声明库图表类型
  2. 导出可复用的命名模板
  3. 将库作为依赖使用
  4. 在本地覆盖库的默认值
← 返回 Helm Academy