HAOJX

event的用法, 来显示资源的事件情况

字数统计: 155阅读时长: 1 min
2021/10/29 Share

先在type中定义一个event

1
2
3
4
type xxxx struct{
...
E record.EventRecorder //记录日志
}

当资源变更了 可以使用他来记录

1
r.E.Evnet(config,corev1.EventTypeNormal,reason:"初始化dep",message:"成功")

如何调用呢

1
2
3
4
5
6
7
8
9
10
11
12
list:=corev1.EventList{}

//这个client是脚手架里面那个client也就是"sigs.k8s.io/controller-runtime/pkg/client"
this.client.List(context.Context,&client.ListOptions{Namespace:ns})

ret:=[]*corev1.Event{}
for _ , e := range list.Items{
//如果判断的条件是name的话 这个会把历史事件也打印出来, 可以适当加个uid判断
if e.InvolvedObject.Name== name && e.InvolvedObject.UID== cfg.UID{
ret=append(ret,e)
}
}
CATALOG