diff --git a/pkg/pipeline/transform/kubernetes/informers/informers.go b/pkg/pipeline/transform/kubernetes/informers/informers.go index 546b65b8a..0fc0033ee 100644 --- a/pkg/pipeline/transform/kubernetes/informers/informers.go +++ b/pkg/pipeline/transform/kubernetes/informers/informers.go @@ -32,6 +32,7 @@ import ( "github.com/sirupsen/logrus" v1 "k8s.io/api/core/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/fields" "k8s.io/apimachinery/pkg/runtime/schema" "k8s.io/client-go/dynamic" inf "k8s.io/client-go/informers" @@ -412,7 +413,9 @@ func (k *Informers) InitFromConfig(kubeconfig string, infConfig Config, opMetric func (k *Informers) initInformers(client kubernetes.Interface, metaClient metadata.Interface, dynClient *dynamic.DynamicClient, cfg Config) error { informerFactory := inf.NewSharedInformerFactory(client, syncTime) - metadataInformerFactory := metadatainformer.NewSharedInformerFactory(metaClient, syncTime) + metadataInformerFactory := metadatainformer.NewFilteredSharedInformerFactory(metaClient, syncTime, metav1.NamespaceAll, func(options *metav1.ListOptions) { + options.FieldSelector = fields.OneTermNotEqualSelector("status.replicas", "0").String() + }) err := k.initNodeInformer(informerFactory, cfg) if err != nil { return err