我有以下代码,我能够在目标集群中创建一个头盔图。当你安装一些图表直到应用程序(在图表内)可用时,需要时间,如何检查通过helm图表安装的应用程序是否启动并运行?有没有办法用舵手客户端做到这一点(我们使用的是舵机3.5.2)tmpfile, err := ioutil.TempFile(kp, kcp)if err != nil { log.Error(err, "error")}defer os.Remove(tmpfile.Name()) if _, err := tmpfile.Write(cfg); err != nil { return err}if err := tmpfile.Close(); err != nil { return err}kcfgFilePath := tmpfile.Name()settings := cli.New()ac := new(action.Configuration)clientGetter := genericclioptions.NewConfigFlags(false)clientGetter.KubeConfig = &kcfgFilePathfor _, chartInstallation := range charts { chart, err := loader.Load(chartInstallation.Path) if err != nil { return err } releaseName := releaseName + "-" + chartInstallation.Name if err := ac.Init(clientGetter, settings.Namespace(), os.Getenv("HELM_DRIVER"), func(format string, v ...interface{}) { }); err != nil { return err } releasePresent := true statusAction := action.NewStatus(ac) status, err := statusAction.Run(releaseName) if err != nil { if strings.Contains(err.Error(), driver.ErrReleaseNotFound.Error()) { releasePresent = false } else { return err } } if !releasePresent { // install chart installAction := action.NewInstall(ac) installAction.CreateNamespace = true installAction.Namespace = chartInstallation.Namespace installAction.ReleaseName = releaseName _, err := installAction.Run(chart, nil) if err != nil { return err } log.Info(“chart installed: ", "releaseName", releaseName) }
1 回答

慕田峪9158850
TA贡献1794条经验 获得超7个赞
- 1 回答
- 0 关注
- 94 浏览
添加回答
举报
0/150
提交
取消