m/n/kubernetes/{clusternet,nfproxy}: log informer errors
Change-Id: I9ea1444c7042dd25c25cecc6b6da054554010a85
Reviewed-on: https://review.monogon.dev/c/monogon/+/1447
Reviewed-by: Lorenz Brun <lorenz@monogon.tech>
Tested-by: Jenkins CI
diff --git a/metropolis/node/kubernetes/nfproxy/nfproxy.go b/metropolis/node/kubernetes/nfproxy/nfproxy.go
index 5fcc5b5..c07b291 100644
--- a/metropolis/node/kubernetes/nfproxy/nfproxy.go
+++ b/metropolis/node/kubernetes/nfproxy/nfproxy.go
@@ -37,6 +37,7 @@
kubeinformers "k8s.io/client-go/informers"
"k8s.io/client-go/kubernetes"
"k8s.io/client-go/kubernetes/scheme"
+ "k8s.io/client-go/tools/cache"
"k8s.io/client-go/tools/record"
"source.monogon.dev/metropolis/pkg/supervisor"
@@ -90,8 +91,17 @@
options.LabelSelector = labelSelector.String()
}))
- svcController := controller.NewServiceController(nfproxy, s.ClientSet, kubeInformerFactory.Core().V1().Services())
- ep := controller.NewEndpointSliceController(nfproxy, s.ClientSet, kubeInformerFactory.Discovery().V1beta1().EndpointSlices())
+ endpointSlicesInformer := kubeInformerFactory.Discovery().V1beta1().EndpointSlices()
+ endpointSlicesInformer.Informer().SetWatchErrorHandler(func(_ *cache.Reflector, err error) {
+ supervisor.Logger(ctx).Errorf("endpoint slices watch error: %v", err)
+ })
+ servicesInformer := kubeInformerFactory.Core().V1().Services()
+ servicesInformer.Informer().SetWatchErrorHandler(func(_ *cache.Reflector, err error) {
+ supervisor.Logger(ctx).Errorf("service informer watch error: %v", err)
+ })
+
+ svcController := controller.NewServiceController(nfproxy, s.ClientSet, servicesInformer)
+ ep := controller.NewEndpointSliceController(nfproxy, s.ClientSet, endpointSlicesInformer)
kubeInformerFactory.Start(ctx.Done())
if err = svcController.Start(ctx.Done()); err != nil {