登录
首页 >  Golang >  Go问答

运行“kubectl get events”命令的Go语言代码示例是否可用

来源:stackoverflow

时间:2024-02-27 16:27:24 152浏览 收藏

“纵有疾风来,人生不言弃”,这句话送给正在学习Golang的朋友们,也希望在阅读本文《运行“kubectl get events”命令的Go语言代码示例是否可用》后,能够真的帮助到大家。我也会在后续的文章中,陆续更新Golang相关的技术文章,有好的建议欢迎大家在评论留言,非常感谢!

问题内容

我想获取 kubernetes 事件列表并将其存储,如何从 golang 代码运行“kubectl get events”。

我尝试了以下操作,但得到了“exec:”kubectl get events”:在 $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)
}

正确答案


首先,我会听取@zerkms的建议,并使用 go-clientk8s 信息/a> - 这样做将使提取数据变得更加容易,而不是处理混乱的命令行输出解析/错误检查。

如果您必须 exec 到外部程序,请确保使用 exec.command正确地,将可执行文件及其各个参数列为 可变参数

out, err := exec.command("kubectl", "get", "events").output()

调用:

exec.Command("kubectl get events")

失败,因为它尝试在您的路径中查找名为 kubectl get events 的单个可执行文件,而不是预期的 kubectl 命令。

今天带大家了解了的相关知识,希望对你有所帮助;关于Golang的技术知识我们会一点点深入介绍,欢迎大家关注golang学习网公众号,一起学习编程~

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>