kubernetes 是否可以从golang代码运行“kubectl get events”[已关闭]

vc9ivgsu  于 2022-12-03  发布在  Kubernetes
关注(0)|答案(1)|浏览(137)

**已关闭。**此问题为not reproducible or was caused by typos。目前不接受答案。

这个问题是由一个打字错误或一个无法再重现的问题引起的。虽然类似的问题在这里可能是on-topic,但这个问题的解决方式不太可能帮助未来的读者。
2天前关闭。
Improve this question
我想得到kubernetes事件的列表并存储它,我如何从golang代码运行'kubectl get events'。
我尝试了下面的,但得到“执行:“kubectl获取事件”:在$PATHCommand中找不到可执行文件已成功执行”

package main
  
import (
    "fmt"
    "os/exec"
//    "runtime"
)

func main() {
    out, err := exec.Command("kubectl get events").Output()
    if err != nil {
        fmt.Printf("%s", err)
    }
    fmt.Println("Command Successfully Executed")
    output := string(out[:])
    fmt.Println(output)
}
mzaanser

mzaanser1#

首先,我会听从@zerkms的建议,用go-client查询任何k8s信息'-这样做将使提取数据比处理混乱的命令行输出解析/错误检查容易得多。
如果你必须exec到一个外部程序,确保你正确地使用exec.Command,列出可执行文件和它的单个参数作为变量参数:

out, err := exec.Command("kubectl", "get", "events").Output()

呼叫:

exec.Command("kubectl get events")

失败,因为它尝试在您的路径中寻找名为kubectl get events的单一可可执行,而不是预期的kubectl指令。

相关问题