From a04df83f86b7191cc98b827c85e962865f5bb56b Mon Sep 17 00:00:00 2001 From: zhifei92 Date: Fri, 15 Nov 2024 09:53:33 +0800 Subject: [PATCH] add statusz for kubelet --- pkg/kubelet/server/server.go | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/pkg/kubelet/server/server.go b/pkg/kubelet/server/server.go index 46ac2403d1d..1fbff6b21ec 100644 --- a/pkg/kubelet/server/server.go +++ b/pkg/kubelet/server/server.go @@ -67,6 +67,8 @@ import ( metricsfeatures "k8s.io/component-base/metrics/features" "k8s.io/component-base/metrics/legacyregistry" "k8s.io/component-base/metrics/prometheus/slis" + zpagesfeatures "k8s.io/component-base/zpages/features" + "k8s.io/component-base/zpages/statusz" runtimeapi "k8s.io/cri-api/pkg/apis/runtime/v1" "k8s.io/cri-client/pkg/util" podresourcesapi "k8s.io/kubelet/pkg/apis/podresources/v1" @@ -105,6 +107,8 @@ const ( debugFlagPath = "/debug/flags/v" podsPath = "/pods" runningPodsPath = "/runningpods/" + + kubeletComponent = "kubelet" ) // Server is a http.Handler which exposes kubelet functionality over HTTP. @@ -406,6 +410,10 @@ func (s *Server) InstallDefaultHandlers() { checkers = append(checkers, s.extendedCheckers...) healthz.InstallHandler(s.restfulCont, checkers...) + if utilfeature.DefaultFeatureGate.Enabled(zpagesfeatures.ComponentStatusz) { + statusz.Install(s.restfulCont, kubeletComponent, statusz.NewRegistry()) + } + slis.SLIMetricsWithReset{}.Install(s.restfulCont) s.addMetricsBucketMatcher("pods")