简介:
Helm 是 Kubernetes 的包管理工具,使用 Chart 来打包、配置和发布应用。下面列出常见命令与示例,基于 Helm 3。
仓库管理:
1 2 3 4 5 6
| helm version helm repo add NAME URL helm repo update helm repo list helm search repo KEYWORD helm search hub KEYWORD
|
安装与升级:
1 2 3 4 5 6 7 8 9 10 11 12 13
| helm install RELEASE_NAME CHART helm install RELEASE_NAME CHART --namespace ns --create-namespace helm upgrade RELEASE_NAME CHART helm upgrade --install RELEASE_NAME CHART helm uninstall RELEASE_NAME --namespace ns
常用选项(安装/升级): --values/-f values.yaml --set key=val --set-file key=path --set-string key=val --namespace N --wait --timeout 300s --atomic
|
发布管理与查看:
1 2 3 4 5
| helm list --all-namespaces helm status RELEASE_NAME --namespace ns helm history RELEASE_NAME --namespace ns helm rollback RELEASE_NAME REVISION helm uninstall RELEASE_NAME
|
获取详情与调试:
1 2 3 4 5 6
| helm get all RELEASE_NAME --namespace ns helm get manifest RELEASE_NAME --namespace ns helm get values RELEASE_NAME --namespace ns helm test RELEASE_NAME --namespace ns helm template RELEASE_NAME CHART --values v.yaml helm lint CHART_DIR
|
Chart 操作与打包:
1 2 3 4
| helm show chart CHART helm show values CHART helm package PATH helm repo index --merge index.yaml .
|
依赖管理:
1 2
| helm dependency update CHART_DIR helm dependency build CHART_DIR
|
插件与环境:
1 2
| helm plugin list helm env
|
小结示例:
1 2 3 4 5 6 7 8
| helm repo add bitnami https://charts.bitnami.com/bitnami helm repo update helm install my-nginx bitnami/nginx --namespace web --create-namespace -f values.yaml
helm template my-app ./charts/my-app -f values.prod.yaml helm upgrade --install my-app ./charts/my-app --namespace prod -f values.prod.yaml --atomic --wait --timeout 5m
|
高级与实用技巧:
- 使用 –kube-context CONTEXT 在多集群环境中切换上下文。
- 使用 –atomic 和 –wait 在自动回滚与等待就绪之间取得平衡。
- 使用 –timeout 控制等待超时。
- 对复杂的多值覆盖,优先使用 values 文件并用 –set 做小幅覆盖。
- 开发时常用 helm template + kubectl apply -f - 进行逐步调试。
- 对大型团队可结合 CI/CD(如 GitHub Actions、GitLab CI)执行 helm upgrade –install。