Reputation: 1281
I have a setup where k8s is running. When i run the "curl http://< host-ip>/api/v1/pods" i get all the pod details running on my setup. I need to do something similar using the k8s client instead, using the token/certificate authentication.
I did see some code which is similar "How can I create a simple client app with the Kubernetes Go library?" but this is not helping me much.
Upvotes: 1
Views: 2610
Reputation: 3163
you can create your client using
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{})
if you running this inside the k8s cluster you can do it by
rest, err := clientcmd.BuildConfigFromFlags("", "")
Upvotes: 1
Reputation: 5123
It's well know that the official Go client for k8s is a little messy. I recommend you take a look to this library looks much better: https://amdatu.org/infra/goclient/gettingstarted/
godocs: https://godoc.org/bitbucket.org/amdatulabs/amdatu-kubernetes-go/client
Upvotes: 0