From 202488995aba5358158c05e91741694496952e89 Mon Sep 17 00:00:00 2001 From: Yu-Ju Hong Date: Thu, 26 Jan 2017 17:22:43 -0800 Subject: [PATCH] docker-CRI: Remove legacy code for non-grpc integration --- pkg/kubelet/kubelet.go | 56 ++++++------------- .../kuberuntime/instrumented_services.go | 4 +- .../kuberuntime/kuberuntime_manager.go | 4 +- 3 files changed, 21 insertions(+), 43 deletions(-) diff --git a/pkg/kubelet/kubelet.go b/pkg/kubelet/kubelet.go index ffdc20de456..b5740946de7 100644 --- a/pkg/kubelet/kubelet.go +++ b/pkg/kubelet/kubelet.go @@ -545,62 +545,40 @@ func NewMainKubelet(kubeCfg *componentconfig.KubeletConfiguration, kubeDeps *Kub // becomes the default. klet.networkPlugin = nil - var runtimeService internalapi.RuntimeService - var imageService internalapi.ImageManagerService - var err error - switch kubeCfg.ContainerRuntime { case "docker": + // Create and start the CRI shim running as a grpc server. streamingConfig := getStreamingConfig(kubeCfg, kubeDeps) - // Use the new CRI shim for docker. ds, err := dockershim.NewDockerService(klet.dockerClient, kubeCfg.SeccompProfileRoot, kubeCfg.PodInfraContainerImage, streamingConfig, &pluginSettings, kubeCfg.RuntimeCgroups, kubeCfg.CgroupDriver, dockerExecHandler) if err != nil { return nil, err } - // TODO: Once we switch to grpc completely, we should move this - // call to the grpc server start. if err := ds.Start(); err != nil { return nil, err } - + // For now, the CRI shim redirects the streaming requests to the + // kubelet, which handles the requests using DockerService.. klet.criHandler = ds - rs := ds.(internalapi.RuntimeService) - is := ds.(internalapi.ImageManagerService) - // This is an internal knob to switch between grpc and non-grpc - // integration. - // TODO: Remove this knob once we switch to using GRPC completely. - overGRPC := true - if overGRPC { - const ( - // The unix socket for kubelet <-> dockershim communication. - ep = "/var/run/dockershim.sock" - ) - kubeCfg.RemoteRuntimeEndpoint = ep - kubeCfg.RemoteImageEndpoint = ep - server := dockerremote.NewDockerServer(ep, ds) - glog.V(2).Infof("Starting the GRPC server for the docker CRI shim.") - err := server.Start() - if err != nil { - return nil, err - } - rs, is, err = getRuntimeAndImageServices(kubeCfg) - if err != nil { - return nil, err - } - } - // TODO: Move the instrumented interface wrapping into kuberuntime. - runtimeService = kuberuntime.NewInstrumentedRuntimeService(rs) - imageService = is - case "remote": - runtimeService, imageService, err = getRuntimeAndImageServices(kubeCfg) - if err != nil { + const ( + // The unix socket for kubelet <-> dockershim communication. + ep = "/var/run/dockershim.sock" + ) + kubeCfg.RemoteRuntimeEndpoint, kubeCfg.RemoteImageEndpoint = ep, ep + + glog.V(2).Infof("Starting the GRPC server for the docker CRI shim.") + server := dockerremote.NewDockerServer(ep, ds) + if err := server.Start(); err != nil { return nil, err } + case "remote": + // No-op. + break default: return nil, fmt.Errorf("unsupported CRI runtime: %q", kubeCfg.ContainerRuntime) } + runtimeService, imageService, err := getRuntimeAndImageServices(kubeCfg) runtime, err := kuberuntime.NewKubeGenericRuntimeManager( kubecontainer.FilterEventRecorder(kubeDeps.Recorder), klet.livenessManager, @@ -617,7 +595,7 @@ func NewMainKubelet(kubeCfg *componentconfig.KubeletConfiguration, kubeDeps *Kub int(kubeCfg.RegistryBurst), klet.cpuCFSQuota, runtimeService, - kuberuntime.NewInstrumentedImageManagerService(imageService), + imageService, ) if err != nil { return nil, err diff --git a/pkg/kubelet/kuberuntime/instrumented_services.go b/pkg/kubelet/kuberuntime/instrumented_services.go index 1a76b0a4d52..ac437846b50 100644 --- a/pkg/kubelet/kuberuntime/instrumented_services.go +++ b/pkg/kubelet/kuberuntime/instrumented_services.go @@ -31,7 +31,7 @@ type instrumentedRuntimeService struct { } // Creates an instrumented RuntimeInterface from an existing RuntimeService. -func NewInstrumentedRuntimeService(service internalapi.RuntimeService) internalapi.RuntimeService { +func newInstrumentedRuntimeService(service internalapi.RuntimeService) internalapi.RuntimeService { return &instrumentedRuntimeService{service: service} } @@ -42,7 +42,7 @@ type instrumentedImageManagerService struct { } // Creates an instrumented ImageManagerService from an existing ImageManagerService. -func NewInstrumentedImageManagerService(service internalapi.ImageManagerService) internalapi.ImageManagerService { +func newInstrumentedImageManagerService(service internalapi.ImageManagerService) internalapi.ImageManagerService { return &instrumentedImageManagerService{service: service} } diff --git a/pkg/kubelet/kuberuntime/kuberuntime_manager.go b/pkg/kubelet/kuberuntime/kuberuntime_manager.go index 9100e907d2b..ea0a6e50646 100644 --- a/pkg/kubelet/kuberuntime/kuberuntime_manager.go +++ b/pkg/kubelet/kuberuntime/kuberuntime_manager.go @@ -143,8 +143,8 @@ func NewKubeGenericRuntimeManager( osInterface: osInterface, networkPlugin: networkPlugin, runtimeHelper: runtimeHelper, - runtimeService: runtimeService, - imageService: imageService, + runtimeService: newInstrumentedRuntimeService(runtimeService), + imageService: newInstrumentedImageManagerService(imageService), keyring: credentialprovider.NewDockerKeyring(), }