我有以下代碼,我能夠在目標集群中創建一個頭盔圖。當你安裝一些圖表直到應用程序(在圖表內)可用時,需要時間,如何檢查通過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 關注
- 114 瀏覽
添加回答
舉報
0/150
提交
取消