【问题标题】:How to access the Kubernetes API in Go and run kubectl commands如何在 Go 中访问 Kubernetes API 并运行 kubectl 命令
【发布时间】:2018-09-14 04:42:28
【问题描述】:

我想在 Go 中访问我的 Kubernetes 集群 API 以运行 kubectl 命令以获取我在谷歌云上运行的 k8s 集群中的可用命名空间。

我的唯一目的是通过运行kubectl 命令在我的集群中获取可用的命名空间:如果有任何替代方法,请告诉我。

【问题讨论】:

    标签: kubernetes kubectl google-kubernetes-engine


    【解决方案1】:

    您可以从 kubernetes/client-go 开始,它是 Kubernetes 的 Go 客户端,用于与 kubernetes 集群通信。 (虽然不是通过 kubectl:直接通过 Kubernetes API)

    它包括一个NamespaceLister, which helps list Namespaces

    参见 Vladimir Vivien

    中的“Building stuff with the Kubernetes API — Using Go

    Michael Hausenblas(Red Hat 的开发者倡导者)提出了in the commentsusing-client-go.cloudnative.sh 的文档

    一个版本化的 sn-ps 集合,展示了如何使用 client-go

    【讨论】:

    • 明确地说,client-go 不会在后台运行 kubectl,它直接与更快更好的 API 对话:)
    • 是的,coderanger 说了什么(也许 VonC 想更新他的答案?)。另外,我已经开始在using-client-go.cloudnative.sh(早期,WIP)收集文档,如果有任何问题,请访问 Kubernetes Slack 社区的#client-go-docs 频道。
    • @MichaelHausenblas 谢谢。我已编辑答案并包含您的评论以提高知名度。
    • 非常感谢 VonC 的回复。我发现此链接非常有帮助,但我无法获得 go-client。我正在使用此命令获取 go-client 但我没有得到任何响应。 “去获取 k8s.io/client-go/...” 我使用 VS Code 作为 IDE。谢谢。
    • @MSA 首先在命令行中尝试:还要检查github.com/kubernetes/client-go/blob/master/INSTALL.md
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-05-28
    • 2021-09-01
    • 2019-06-03
    • 2022-11-28
    • 2017-07-27
    • 2018-08-31
    • 2020-10-31
    相关资源
    最近更新 更多