k8s-add-crd-event

对于kubernetes primitive resource增加event非常简单,需要做如下几步

注册crd的scheme

1
utilruntime.Must(samplescheme.AddToScheme(scheme.Scheme))

创建recorder

1
2
3
4
eventBroadcaster := record.NewBroadcaster()
eventBroadcaster.StartLogging(glog.Infof)
eventBroadcaster.StartRecordingToSink(&typedcorev1.EventSinkImpl{Interface: kubeclientset.CoreV1().Events("")})
recorder := eventBroadcaster.NewRecorder(scheme.Scheme, corev1.EventSource{Component: controllerAgentName})

通过recorder来记录事件

1
recorder.Event(foo, corev1.EventTypeNormal, SuccessSynced, MessageResourceSynced)