我正在尝试通过客户端将更新部署称为k8。但是我很难更新Deployment.yaml文件中的更改 等同于kubectl的任何代码示例均通过客户端API应用于-f deployment.yaml
答案 0 :(得分:0)
该示例程序演示了管理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
}