使用 helm repo index 构建仓库索引
生成仓库所需的 index.yaml
使用 helm repo index 构建仓库索引 是 CoddyKit 上的免费 Helm Academy 课时。 这是第 2 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Helm Academy 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Helm Academy 课程共包含 4 节课。
仓库其实就是文件
经典 Helm 仓库并不复杂:一个存放 .tgz 归档文件的文件夹,再加上一个特殊的目录文件。这个目录文件就是 index.yaml。
index.yaml 的重要性
Helm 不会远程列出文件夹内容。它会下载 index.yaml,以了解有哪些 Chart 和版本,以及从哪里获取每个 Chart。
用一个命令生成
将存放已打包 Chart 的文件夹作为 helm repo index 的目标,它会扫描每个 .tgz 并自动建立目录。
helm repo index ./dist索引内容
生成的 index.yaml 会列出每个 Chart 的名称、版本、摘要和下载网址。Helm 使用这些条目来解析安装目标。
entries:
mychart:
- version: 0.2.0
urls:
- mychart-0.2.0.tgz设置公开网址
--url 标志会将每个条目的下载链接改写为实际提供归档文件的地址,而不是本地路径。
helm repo index ./dist --url https://charts.example.com每个 Chart 都有摘要
索引会为每个归档文件记录一个 SHA-256 摘要。Helm 在下载时会验证它,从而发现损坏或被替换的文件。
digest: sha256:9f86d08...合并新 Chart
从头重新生成索引可能会丢失历史记录。--merge 标志会将新的归档文件合并到现有索引中,同时保留较早的版本条目。
helm repo index ./dist --merge ./dist/index.yaml操作顺序
始终先打包,再建立索引。索引只能看到已经存在的归档文件,因此必须先有一个新的 .tgz,才能运行索引命令。
helm package ./mychart -d ./dist
helm repo index ./dist --url https://charts.example.com多个版本可以共存
同一个 Chart 名称可以包含多个版本条目。保留旧的 .tgz 文件,使用者就能安装或回滚到任意已发布版本。
索引与归档文件放在一起
将完成的 index.yaml 放在您要提供服务的同一目录中。Helm 会从仓库根目录获取它,然后以它为基准解析 Chart 网址。
每次发布都重新生成
索引是快照,并不是实时的。每次添加 Chart 后,您都必须重新构建或合并 index.yaml,否则客户端将看不到它。
快速检查
您生成了索引,但下载链接指向本地路径。哪个标志可以修复这些网址?
回顾:构建索引
您运行了 helm repo index 来整理归档文件,设置了公开网址,并使用 --merge 保留旧版本。现在仓库已经有了自己的地图。🗂️
常见问题解答
「使用 helm repo index 构建仓库索引」课时是免费的吗?
是的 — 「使用 helm repo index 构建仓库索引」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Helm Academy 课程的其余内容,请升级到 CoddyKit PRO。 Helm Academy 课程共包含 4 节课。
「使用 helm repo index 构建仓库索引」这节课中我会学到什么?
生成仓库所需的 index.yaml 你通过在浏览器中直接运行的动手代码来练习 Helm Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。
学习 Helm Academy 需要有经验吗?
无需任何先前经验。CoddyKit 上的 Helm Academy 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 2 节课,共 4 节。
「使用 helm repo index 构建仓库索引」课时需要多长时间?
大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。
我能在这节 Helm Academy 课中编写并运行代码吗?
能。每节 Helm Academy 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。
此课程中的所有课时
- 使用 helm package 打包 Release 归档
- 使用 helm repo index 构建仓库索引
- 托管 Chart 仓库
- 将 Chart 推送到 OCI 注册表