声明库图表类型
将类型设置为 library 及其限制
声明库图表类型 是 CoddyKit 上的免费 DevOps Bootcamp 课时。 这是第 1 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 DevOps Bootcamp 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 DevOps Bootcamp 课程共包含 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 导师)并解锁 DevOps Bootcamp 课程的其余内容,请升级到 CoddyKit PRO。 DevOps Bootcamp 课程共包含 4 节课。
「声明库图表类型」这节课中我会学到什么?
将类型设置为 library 及其限制 你通过在浏览器中直接运行的动手代码来练习 DevOps Bootcamp,全天候 AI 导师会在你学习这节课的过程中回答你的问题。
学习 DevOps Bootcamp 需要有经验吗?
无需任何先前经验。CoddyKit 上的 DevOps Bootcamp 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 1 节课,共 4 节。
「声明库图表类型」课时需要多长时间?
大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。
我能在这节 DevOps Bootcamp 课中编写并运行代码吗?
能。每节 DevOps Bootcamp 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。
此课程中的所有课时
- 声明库图表类型
- 导出可复用的命名模板
- 将库作为依赖使用
- 在本地覆盖库的默认值