用途:Helm 是 Kubernetes 的包管理器,用于定义、安装和升级应用,把 Kubernetes 资源打包成可复用的 chart 模板,简化集群资源管理。
主要能力:以 chart(含 YAML 清单与模板的目录)打包应用;支持 chart 仓库进行版本化存储与检索;提供模板引擎,可用 values 文件(如 YAML)覆盖参数定制部署;支持发布生命周期中的升级与回滚;可与 Kubernetes RBAC 集成以安全操作。
使用方式:先确保能访问 Kubernetes(通过 kubectl 或设置 KUBECONFIG,如 export KUBECONFIG=~/.kube/config),必要时用 helm init 初始化,然后添加仓库并安装 chart。自定义部署可用 helm create mychart 创建 chart,编辑 values.yaml 后安装;多租户集群用 --namespace 指定命名空间。常用命令:helm install myrelease stable/nginx --set service.type=LoadBalancer --namespace dev;helm upgrade myrelease stable/nginx --set replicas=3(失败回滚用 --atomic);helm list --all-namespaces;helm uninstall myrelease --namespace dev;helm search repo nginx;helm repo add stable https://charts.helm.sh/stable 后 helm repo update。values.yaml 示例:replicaCount: 2,image 下 repository: nginx、tag: latest。
集成与排错:Helm 通过 CLI 操作,与 Kubernetes API 服务器交互,无直接 REST API。可在 CI/CD(如 GitHub Actions)中于装有 kubectl 的容器内运行,设置 export HELM_REPOSITORY_CONFIG=repo.yaml;Terraform 可用 helm_release 资源集成。常见错误如 chart not found 可先 helm repo update;权限问题需配置 RBAC;部署失败可用 helm history 查看修订并 helm rollback 回滚,也可用 kubectl get events 排查根因。
限制:资料未提供收费、价格、平台支持范围等细节。