我有一个运行k8s的设置。当我运行“curl http://< host-ip> / api / v1 / pods”时,我会在我的设置上运行所有pod详细信息。我需要使用k8s客户端,使用令牌/证书身份验证来执行类似的操作。
我确实看到了一些类似“How can I create a simple client app with the Kubernetes Go library?”的代码,但这对我没什么帮助。
答案 0 :(得分:1)
您可以使用
创建客户端rest, err := clientcmd.BuildConfigFromFlags("", "kube-config-file")
if err != nil {
log.Fatal("Failed to load KubeConfig", err)
}
client := clientset.NewForConfigOrDie(rest)
pods, err := client.Core().Pods("").List(api.ListOptions{})
如果你在k8s群集中运行它,你可以通过
来完成rest, err := clientcmd.BuildConfigFromFlags("", "")
答案 1 :(得分:0)
众所周知,k8s的官方Go客户端有点乱。 我建议你看看这个库看起来好多了: https://amdatu.org/infra/goclient/gettingstarted/
godocs: https://godoc.org/bitbucket.org/amdatulabs/amdatu-kubernetes-go/client