From 099eba784b95df429263d57c1f24dcb3acfedf60 Mon Sep 17 00:00:00 2001 From: Benedikt Bongartz Date: Thu, 11 May 2023 17:32:22 +0200 Subject: [PATCH] pass tracerprovider to kublet-readonly server Signed-off-by: Benedikt Bongartz --- cmd/kubelet/app/server.go | 2 +- pkg/kubelet/kubelet.go | 6 +++--- pkg/kubelet/server/server.go | 8 ++++---- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/cmd/kubelet/app/server.go b/cmd/kubelet/app/server.go index 76e8cdf7b99..21ced945caf 100644 --- a/cmd/kubelet/app/server.go +++ b/cmd/kubelet/app/server.go @@ -1267,7 +1267,7 @@ func startKubelet(k kubelet.Bootstrap, podCfg *config.PodConfig, kubeCfg *kubele go k.ListenAndServe(kubeCfg, kubeDeps.TLSOptions, kubeDeps.Auth, kubeDeps.TracerProvider) } if kubeCfg.ReadOnlyPort > 0 { - go k.ListenAndServeReadOnly(netutils.ParseIPSloppy(kubeCfg.Address), uint(kubeCfg.ReadOnlyPort)) + go k.ListenAndServeReadOnly(netutils.ParseIPSloppy(kubeCfg.Address), uint(kubeCfg.ReadOnlyPort), kubeDeps.TracerProvider) } go k.ListenAndServePodResources() } diff --git a/pkg/kubelet/kubelet.go b/pkg/kubelet/kubelet.go index 62083b62db4..a4c18f22d36 100644 --- a/pkg/kubelet/kubelet.go +++ b/pkg/kubelet/kubelet.go @@ -237,7 +237,7 @@ type Bootstrap interface { BirthCry() StartGarbageCollection() ListenAndServe(kubeCfg *kubeletconfiginternal.KubeletConfiguration, tlsOptions *server.TLSOptions, auth server.AuthInterface, tp trace.TracerProvider) - ListenAndServeReadOnly(address net.IP, port uint) + ListenAndServeReadOnly(address net.IP, port uint, tp trace.TracerProvider) ListenAndServePodResources() Run(<-chan kubetypes.PodUpdate) RunOnce(<-chan kubetypes.PodUpdate) ([]RunPodResult, error) @@ -2931,8 +2931,8 @@ func (kl *Kubelet) ListenAndServe(kubeCfg *kubeletconfiginternal.KubeletConfigur } // ListenAndServeReadOnly runs the kubelet HTTP server in read-only mode. -func (kl *Kubelet) ListenAndServeReadOnly(address net.IP, port uint) { - server.ListenAndServeKubeletReadOnlyServer(kl, kl.resourceAnalyzer, address, port) +func (kl *Kubelet) ListenAndServeReadOnly(address net.IP, port uint, tp trace.TracerProvider) { + server.ListenAndServeKubeletReadOnlyServer(kl, kl.resourceAnalyzer, address, port, tp) } // ListenAndServePodResources runs the kubelet podresources grpc service diff --git a/pkg/kubelet/server/server.go b/pkg/kubelet/server/server.go index 87a017f9ccc..2b0e7ec858e 100644 --- a/pkg/kubelet/server/server.go +++ b/pkg/kubelet/server/server.go @@ -190,10 +190,10 @@ func ListenAndServeKubeletReadOnlyServer( host HostInterface, resourceAnalyzer stats.ResourceAnalyzer, address net.IP, - port uint) { + port uint, + tp oteltrace.TracerProvider) { klog.InfoS("Starting to listen read-only", "address", address, "port", port) - // TODO: https://github.com/kubernetes/kubernetes/issues/109829 tracer should use WithPublicEndpoint - s := NewServer(host, resourceAnalyzer, nil, oteltrace.NewNoopTracerProvider(), nil) + s := NewServer(host, resourceAnalyzer, nil, tp, nil) server := &http.Server{ Addr: net.JoinHostPort(address.String(), strconv.FormatUint(uint64(port), 10)), @@ -341,7 +341,7 @@ func (s *Server) InstallAuthFilter() { // InstallTracingFilter installs OpenTelemetry tracing filter with the restful Container. func (s *Server) InstallTracingFilter(tp oteltrace.TracerProvider) { - s.restfulCont.Filter(otelrestful.OTelFilter("kubelet", otelrestful.WithTracerProvider(tp))) + s.restfulCont.Filter(otelrestful.OTelFilter("kubelet", otelrestful.WithTracerProvider(tp), otelrestful.WithPublicEndpoint())) } // addMetricsBucketMatcher adds a regexp matcher and the relevant bucket to use when