Helm 制品管理基础
Helm 是 Kubernetes 的包管理工具,通过 Chart 封装应用及其依赖。管理 Helm 制品包括版本控制、存储、分发和安全性等方面。Chart 通常存储在制品仓库中,如 Helm Hub、私有 Harbor 或 JFrog Artifactory。
Chart 的结构示例:
mychart/
Chart.yaml # Chart 元数据
values.yaml # 默认配置
charts/ # 子 Chart 依赖
templates/ # Kubernetes 资源模板
搭建私有 Helm 仓库
使用 ChartMuseum 或 Harbor 搭建私有仓库。以下是 ChartMuseum 的快速启动示例:
# 使用 Docker 启动 ChartMuseum
docker run --rm -it \
-p 8080:8080 \
-e STORAGE=local \
-e STORAGE_LOCAL_ROOTDIR=/charts \
-v $(pwd)/charts:/charts \
ghcr.io/helm/chartmuseum:v0.15.0
推送 Chart 到仓库:
# 打包 Chart
helm package ./mychart
# 上传到仓库
curl --data-binary "@mychart-0.1.0.tgz" http://localhost:8080/api/charts
版本控制策略
语义化版本(SemVer)是 Helm Chart 的标准版本规范:
- MAJOR: 不兼容的 API 变更
- MINOR: 向后兼容的功能新增
- PATCH: 向后兼容的问题修复
Chart.yaml 示例:
apiVersion: v2
name: mychart
version: 1.2.3 # SemVer 版本
appVersion: v1.0.0 # 应用版本
依赖管理
通过 Chart.yaml 声明依赖:
dependencies:
- name: redis
version:
2708

被折叠的 条评论
为什么被折叠?



