Go Helm SDK + Chart 实战:从安装到自定义管理

发布时间:2026/9/27 19:58:18
Go Helm SDK + Chart 实战:从安装到自定义管理 Go Helm SDK Chart 实战从安装到自定义管理Helm 是 K8s 包管理工具Go 后端可以用 Helm SDK 编写自定义安装器、Operator。本文讲清 Helm Go SDK。一、Helm 简介Helm Chart Release Tiller3.x 移除 Tiller。Chart 模板 value。二、安装 Helm Go SDKgo get k8s.io/helm/v3三、安装 Chartimporthelm.sh/helm/v3/pkg/actionsettings:cli.NewSettings()actionConfig:new(action.Configuration)iferr:actionConfig.Init(settings.RESTClientGetter(),default,secret);err!nil{returnerr}install:action.NewInstall(actionConfig)install.ChartPathOptions.RepoURLhttps://charts.bitnami.com/bitnamiinstall.Namespacedefaultinstall.ReleaseNamemy-releaseinstall.Waittruechart,err:loader.Load(...)release,err:install.Run(chart,map[string]any{})四、自定义 Charttemplates/deployment.yaml templates/service.yaml五、Values 注入chart/values.yaml:replicaCount:3image:myimg:tag代码注入chart.Valuesmap[string]any{replicaCount:5,image:myimg:v2,}六、卸载 Chartuninstall:action.NewUninstall(actionConfig)_,erruninstall.Run(my-release)七、Chart 仓库apiVersion:v1kind:Chart.yamlmetadata:name:my-chart八、实战多 cluster 部署clusters:[]string{cluster1,cluster2}for_,c:rangeclusters{config,_:clientcmd.BuildConfigFromFlags(,kc/c)install:action.NewInstall(actionConfig(c))// ...}九、踩坑清单Helm v3 客户端 kubeconfig 必须挂Tiller 已被移除driver 走 secretchart 路径需绝对十、企业实战Operator HelmHelpertypeHelmHelperstruct{cli*action.Configuration}func(h*HelmHelper)Reconcile(ctx context.Context,...)error{returnh.Install(ctx,...)}CRD 状态驱动 Helm install/upgrade。十一、未来Helm 4.x 一体化部署ArgoCD 取代 Helm SDK十二、总结Helm SDK 让 Go 项目能自定义 chart 部署、补 Operator 流程。十三、参考文献helm.sh 文档Helm chart 最佳实践