Create a Event in Kubernetes Using client-go

Use client-go to create/generate/publish Events object in Kubernetes

Able Lv
Mar 27, 2022

A Kubernetes event is an object that shows what’s happening inside a cluster, node, pod, or container.

We can publish Kubernetes Events using client-go. It is very easy.

Create an EventRecorder

eventBroadcaster := record.NewBroadcaster()eventBroadcaster.StartLogging(klog.Infof)eventBroadcaster.StartRecordingToSink(&typedcorev1.EventSinkImpl{Interface: clientset.CoreV1().Events("")})eventRecorder := eventBroadcaster.NewRecorder(scheme.Scheme, v1.EventSource{Component: "By Able"})

Send an Event

object := &v1.Pod{ObjectMeta: metav1.ObjectMeta{Name: "foo", Namespace: "default"}}eventRecorder.Event(object, v1.EventTypeNormal, "ReasonTest", "MessageTest")

A simple Demo code

A simple Demo code

--

--

Able Lv

Cloud Infrastructure Engineer @Airwallex: Kubernetes, DevOps, SRE, Go, Terraform, Istio, and Cloud-Native stuff