我正在尝试通过k8的go客户端调用更新部署。但是我很难从deployment.yaml文件中更新更改任何等效于kubectl通过client-go API应用-f deployment.yaml的代码示例
发布于 2019-07-22 21:45:25
此示例程序演示了管理Deployment资源的基本操作,如
Create、List、Update和Delete。
这方面的代码可以在here和Go client for Kubernetes.的完整文档中找到。
或者,您可以编写自己的函数将yaml作为参数进行部署。
func cellDeploy(pathToFileName string) error {
cmd := exec.Command("kubectl", "apply", "-f", pathToFileName)
stdoutReader, _ := cmd.StdoutPipe()
stdoutScanner := bufio.NewScanner(stdoutReader)
go func() {
for stdoutScanner.Scan() {
fmt.Println(stdoutScanner.Text())
}
}()
stderrReader, _ := cmd.StderrPipe()
stderrScanner := bufio.NewScanner(stderrReader)
go func() {
for stderrScanner.Scan() {
fmt.Println(stderrScanner.Text())
}
}()
err := cmd.Start()
if err != nil {
fmt.Printf("Error : %v \n", err)
os.Exit(1)
}
err = cmd.Wait()
if err != nil {
fmt.Printf("Error: %v \n", err)
os.Exit(1)
}
return nil
}https://stackoverflow.com/questions/57140431
复制相似问题