【问题标题】:Helm go sdk install chart from external locationHelm go sdk 从外部位置安装图表
【发布时间】:2021-07-13 19:33:16
【问题描述】:

我正在使用以下代码安装限制在我的源代码中的图表(例如,在我的 go bin 应用程序中的 app/chart/chart1 中),现在我需要将图表移动到 git 存储库人工制品

我的问题是如何从我的程序外部安装图表?

这是我使用的适用于捆绑图表的代码

我使用 helm3 加载程序包,当我将图表捆绑在我的应用程序中时它可以工作

chart, err := loader.Load(“chart/chart1”)

https://pkg.go.dev/helm.sh/helm/v3@v3.5.4/pkg/chart/loader

我应该通过 http 调用以某种方式加载它还是 helm 有一些内置功能?我们需要一些有效的方法来处理它

【问题讨论】:

    标签: go kubernetes kubernetes-helm


    【解决方案1】:

    你可以使用类似这样的东西来安装nginxchart

    
        myChart, err := loader.Load("https://charts.bitnami.com/bitnami/nginx-8.8.4.tgz")
    ...
        install := action.NewInstall(m.actionConfig)
        install.ReleaseName = "my-release"
    ...
        myRelease, err := install.Run(myChart, myValues)
    

    类似于:

    helm install my-release https://charts.bitnami.com/bitnami/nginx-8.8.4.tgz
    

    【讨论】:

      【解决方案2】:

      似乎 helm 在其升级/安装命令期间首先检查几个不同的位置,您可以看到 getting called here。该函数的内容是here。 然后继续hereloader.Load

      【讨论】:

      • 谢谢,您能否提供代码示例我怎样才能使它工作?
      【解决方案3】:

      loader.load 仅检查文件和目录。如果要使用 URL helm sdk 在 Install 界面中提供了LocateChart 方法。这是一个例子:

      settings := cli.New()
      actionConfig := new(action.Configuration)
      if err := actionConfig.Init(settings.RESTClientGetter(), settings.Namespace(), os.Getenv("HELM_DRIVER"), log.Printf); err != nil {
              log.Printf("%+v", err)
              os.Exit(1)
              }
      
      client := action.NewInstall(actionConfig)
      
      chrt_path, err := client.LocateChart("https://github.com/kubernetes/ingress-nginx/releases/download/helm-chart-4.0.6/ingress-nginx-4.0.6.tgz", settings); if err != nil {
              panic(err)
      }
      
      myChart, err := loader.Load(chrt_path); if err != nil {
              panic(err)
      }
      

      然后您可以简单地设置安装选项并调用client.Run 方法。

      【讨论】:

        猜你喜欢
        • 2022-12-09
        • 2020-07-14
        • 1970-01-01
        • 2014-11-25
        • 1970-01-01
        • 2019-07-14
        • 2022-10-17
        • 2020-05-16
        • 1970-01-01
        相关资源
        最近更新 更多