Skip to content

udhos/kube

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

license Go Report Card Go Reference

kube

kubeclient create a kubernetes client.

Usage

See: cmd/kubeclient-example/main.go.

package main

import (
	"context"
	"log"

	"github.com/udhos/kube/kubeclient"
	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
)

func main() {

	options := kubeclient.Options{DebugLog: true}

	clientset, errClient := kubeclient.New(options)
	if errClient != nil {
		log.Fatalf("kubeclient error: %v", errClient)
	}

	namespace := ""
	labelSelector := "" // "key1=value1,key2=value2"

	log.Printf("namespace='%s' labelSelector='%s'", namespace, labelSelector)

	listOptions := metav1.ListOptions{LabelSelector: labelSelector}

	pods, errList := clientset.CoreV1().Pods(namespace).List(context.TODO(), listOptions)

	if errList != nil {
		log.Fatalf("list pods: %v", errList)
	}

	log.Printf("found pods: %d", len(pods.Items))

	for i, p := range pods.Items {
		log.Printf("%d/%d: namespace=%s name=%s",
			i, len(pods.Items), p.Namespace, p.Name)
	}
}

About

kubeclient creates a kubernetes client.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published