Chetan
Chetan

Reputation: 1281

Golang code to get all the pod details on my setup

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

Answers (2)

sadlil
sadlil

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

Yandry Pozo
Yandry Pozo

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

Related Questions