diff --git a/pkg/kubelet/kubelet.go b/pkg/kubelet/kubelet.go index bcdcde29bd6..f62611efec6 100644 --- a/pkg/kubelet/kubelet.go +++ b/pkg/kubelet/kubelet.go @@ -2720,7 +2720,15 @@ func (kl *Kubelet) ListenAndServePodResources() { klog.V(2).InfoS("Failed to get local endpoint for PodResources endpoint", "err", err) return } - server.ListenAndServePodResources(socket, kl.podManager, kl.containerManager, kl.containerManager, kl.containerManager) + + providers := server.PodResourcesProviders{ + Pods: kl.podManager, + Devices: kl.containerManager, + Cpus: kl.containerManager, + Memory: kl.containerManager, + } + + server.ListenAndServePodResources(socket, providers) } // Delete the eligible dead container instances in a pod. Depending on the configuration, the latest dead containers may be kept around. diff --git a/pkg/kubelet/server/server.go b/pkg/kubelet/server/server.go index e6d647efb3e..606fd52a628 100644 --- a/pkg/kubelet/server/server.go +++ b/pkg/kubelet/server/server.go @@ -209,11 +209,20 @@ func ListenAndServeKubeletReadOnlyServer( } } +type PodResourcesProviders struct { + Pods podresources.PodsProvider + Devices podresources.DevicesProvider + Cpus podresources.CPUsProvider + Memory podresources.MemoryProvider +} + // ListenAndServePodResources initializes a gRPC server to serve the PodResources service -func ListenAndServePodResources(socket string, podsProvider podresources.PodsProvider, devicesProvider podresources.DevicesProvider, cpusProvider podresources.CPUsProvider, memoryProvider podresources.MemoryProvider) { +func ListenAndServePodResources(socket string, providers PodResourcesProviders) { server := grpc.NewServer() - podresourcesapiv1alpha1.RegisterPodResourcesListerServer(server, podresources.NewV1alpha1PodResourcesServer(podsProvider, devicesProvider)) - podresourcesapi.RegisterPodResourcesListerServer(server, podresources.NewV1PodResourcesServer(podsProvider, devicesProvider, cpusProvider, memoryProvider)) + + podresourcesapiv1alpha1.RegisterPodResourcesListerServer(server, podresources.NewV1alpha1PodResourcesServer(providers.Pods, providers.Devices)) + podresourcesapi.RegisterPodResourcesListerServer(server, podresources.NewV1PodResourcesServer(providers.Pods, providers.Devices, providers.Cpus, providers.Memory)) + l, err := util.CreateListener(socket) if err != nil { klog.ErrorS(err, "Failed to create listener for podResources endpoint")