我在控制器中使用 kubebuilder 框架,我想完全忽略给定系统名称空间列表中的事件。我认为谓词必须是最好的选择,因此我有以下代码
...
WithEventFilter(predicate.Funcs{
GenericFunc: func(e event.GenericEvent) bool {
namespace := e.Object.GetNamespace()
if _, ok := systemNs[namespace]; ok {
// ignore events from system namespaces
return false
}
return true
},
}).
但是,我仍然接收来自所有命名空间的事件,而不仅仅是我允许的事件。这是一个正确有效的谓词用例吗?