From 10903cb79690a1d827431dd5f6caea07d253d096 Mon Sep 17 00:00:00 2001 From: Richa Banker Date: Wed, 12 Oct 2022 20:03:25 -0700 Subject: [PATCH] add metrics/slis to kube-proxy health checks --- cmd/kube-proxy/app/server.go | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/cmd/kube-proxy/app/server.go b/cmd/kube-proxy/app/server.go index 51bfac2dbb9..1c3640d7c90 100644 --- a/cmd/kube-proxy/app/server.go +++ b/cmd/kube-proxy/app/server.go @@ -57,7 +57,9 @@ import ( componentbaseconfig "k8s.io/component-base/config" "k8s.io/component-base/configz" "k8s.io/component-base/logs" + metricsfeatures "k8s.io/component-base/metrics/features" "k8s.io/component-base/metrics/legacyregistry" + "k8s.io/component-base/metrics/prometheus/slis" "k8s.io/component-base/version" "k8s.io/component-base/version/verflag" "k8s.io/klog/v2" @@ -86,6 +88,10 @@ import ( "k8s.io/utils/pointer" ) +func init() { + utilruntime.Must(metricsfeatures.AddFeatureGates(utilfeature.DefaultMutableFeatureGate)) +} + // proxyRun defines the interface to run a specified ProxyServer type proxyRun interface { Run() error @@ -612,6 +618,9 @@ func serveMetrics(bindAddress string, proxyMode kubeproxyconfig.ProxyMode, enabl proxyMux := mux.NewPathRecorderMux("kube-proxy") healthz.InstallHandler(proxyMux) + if utilfeature.DefaultFeatureGate.Enabled(metricsfeatures.ComponentSLIs) { + slis.SLIMetricsWithReset{}.Install(proxyMux) + } proxyMux.HandleFunc("/proxyMode", func(w http.ResponseWriter, r *http.Request) { w.Header().Set("Content-Type", "text/plain; charset=utf-8") w.Header().Set("X-Content-Type-Options", "nosniff")