如何通过client-go从go运行kubectl apply命令?例如:我有一个名为crds.yaml的文件,我想通过client-go运行它我找不到任何关于如何做到这一点的例子,有人能帮忙吗?
rt4zxlrg1#
您需要解码.yaml文件Here这是完整的答案(包含代码示例)
mkshixfv2#
根据您提供的链接,我最终接到了此类电话
yamlFile, err := ioutil.ReadFile("custom.yaml") if err != nil { log.Printf("yamlFile.Get err #%v ", err) } var ctx context.Context var c client.Client var actionFn ForEachObjectInYAMLActionFunc err = ForEachObjectInYAML(ctx, c, yamlFile, "default", actionFn) if err != nil { fmt.Println(err) }
但它是失败的
panic: runtime error: invalid memory address or nil pointer dereference [signal SIGSEGV: segmentation violation code=0x1 addr=0x0 pc=0x10ac5cc] goroutine 1 [running]: main.ForEachObjectInYAML({0x0, 0x0}, {0x0, 0x0}, {0xc000880000?, 0xc0000021a0?, 0x200000003?}, {0x12bf20f, 0x7}, 0x0) apply.go:125 +0x12c main.main() apply.go:34 +0xc5 exit status 2
而且还有:
if err := actionFn(ctx, c, obj); err != nil { return err }
知道我做错了什么吗?
2条答案
按热度按时间rt4zxlrg1#
您需要解码.yaml文件
Here这是完整的答案(包含代码示例)
mkshixfv2#
根据您提供的链接,我最终接到了此类电话
但它是失败的
而且还有:
知道我做错了什么吗?