0Pricing
DevOps Bootcamp · 课时

Chart 与 Capabilities 对象

Chart 元数据与集群 API 版本检查

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

另外两个内置对象

除了 .Values 和 .Release,Helm 还提供用于 chart 元数据的 .Chart,以及用于获取目标集群信息的 .Capabilities。

Chart 对象映射 Chart.yaml

.Chart 就是暴露给模板的 Chart.yaml 内容。您在其中写入的每个字段都可以在渲染期间读取。📦

Chart 名称和版本

.Chart.Name 和 .Chart.Version 提供 chart 的身份信息。Version 是 chart 自身的 SemVer,每次发布时都会递增。

chart: {{ .Chart.Name }}-{{ .Chart.Version }}

AppVersion 不同

.Chart.AppVersion 是正在部署的应用版本,而不是 chart 版本。它通常用于指定默认镜像标签和资源标签。

app.kubernetes.io/version: {{ .Chart.AppVersion }}

字段名称使用大写形式

Chart.yaml 使用小写键,但对象会将它们改为首字母大写的形式。即使文件中写的是 appVersion,您也要写 .Chart.AppVersion。

Capabilities 对象

.Capabilities 描述 Helm 正在连接的集群:包括 Kubernetes 版本以及可用的 API 组。

检查 Kubernetes 版本

.Capabilities.KubeVersion 报告集群版本。chart 可以利用它适配较新或较旧的 Kubernetes 版本。

# {{ .Capabilities.KubeVersion.Version }}

测试 API 版本是否存在

.Capabilities.APIVersions.Has 会检查集群中是否存在某个 API,从而让您安全地选择正确的资源类型。

{{ if .Capabilities.APIVersions.Has "networking.k8s.io/v1" }}...{{ end }}

Capabilities 为什么有助于可移植性

不同集群的版本和已安装 API 各不相同。根据 .Capabilities 进行判断,可以让同一个 chart 在多种集群配置中正确渲染。

Capabilities 与 helm template

在离线运行时,helm template 无法查询真实集群,因此会假定一个默认版本。传入 --kube-version 可以模拟特定目标。

helm template ./mychart --kube-version 1.29

使用 Chart 添加标签,使用 Capabilities 控制逻辑

一个实用规则是:为标签添加身份信息时读取 .Chart,决定要生成哪种清单结构时检查 .Capabilities。

快速检查

您需要使用正在部署的应用版本为资源添加标签。

回顾:Chart 和 Capabilities

您已经了解到,.Chart 会暴露 Chart.yaml 中的 Name、Version 和 AppVersion 等元数据,而 .Capabilities 会报告集群版本和可用 API。

常见问题解答

「Chart 与 Capabilities 对象」课时是免费的吗?

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

「Chart 与 Capabilities 对象」这节课中我会学到什么?

Chart 元数据与集群 API 版本检查 你通过在浏览器中直接运行的动手代码来练习 DevOps Bootcamp,全天候 AI 导师会在你学习这节课的过程中回答你的问题。

学习 DevOps Bootcamp 需要有经验吗?

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

「Chart 与 Capabilities 对象」课时需要多长时间?

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

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

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

此课程中的所有课时

  1. Values 对象与嵌套访问
  2. 通过 .Release 获取 Release 元数据
  3. Chart 与 Capabilities 对象
  4. Files、Template 与根上下文
← 返回 DevOps Bootcamp