Merge pull request #40572 from yujuhong/cri_cleanup

Automatic merge from submit-queue (batch tested with PRs 40126, 40565, 38777, 40564, 40572)

docker-CRI: Remove legacy code for non-grpc integration

A minor cleanup to remove the code that is no longer in use to simplify the logic.
This commit is contained in:
Kubernetes Submit Queue 2017-01-27 01:34:22 -08:00 committed by GitHub
commit e6e17a5be6
3 changed files with 21 additions and 43 deletions

View File

@ -545,62 +545,40 @@ func NewMainKubelet(kubeCfg *componentconfig.KubeletConfiguration, kubeDeps *Kub
// becomes the default. // becomes the default.
klet.networkPlugin = nil klet.networkPlugin = nil
var runtimeService internalapi.RuntimeService
var imageService internalapi.ImageManagerService
var err error
switch kubeCfg.ContainerRuntime { switch kubeCfg.ContainerRuntime {
case "docker": case "docker":
// Create and start the CRI shim running as a grpc server.
streamingConfig := getStreamingConfig(kubeCfg, kubeDeps) streamingConfig := getStreamingConfig(kubeCfg, kubeDeps)
// Use the new CRI shim for docker.
ds, err := dockershim.NewDockerService(klet.dockerClient, kubeCfg.SeccompProfileRoot, kubeCfg.PodInfraContainerImage, ds, err := dockershim.NewDockerService(klet.dockerClient, kubeCfg.SeccompProfileRoot, kubeCfg.PodInfraContainerImage,
streamingConfig, &pluginSettings, kubeCfg.RuntimeCgroups, kubeCfg.CgroupDriver, dockerExecHandler) streamingConfig, &pluginSettings, kubeCfg.RuntimeCgroups, kubeCfg.CgroupDriver, dockerExecHandler)
if err != nil { if err != nil {
return nil, err 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 { if err := ds.Start(); err != nil {
return nil, err return nil, err
} }
// For now, the CRI shim redirects the streaming requests to the
// kubelet, which handles the requests using DockerService..
klet.criHandler = ds 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 ( const (
// The unix socket for kubelet <-> dockershim communication. // The unix socket for kubelet <-> dockershim communication.
ep = "/var/run/dockershim.sock" ep = "/var/run/dockershim.sock"
) )
kubeCfg.RemoteRuntimeEndpoint = ep kubeCfg.RemoteRuntimeEndpoint, kubeCfg.RemoteImageEndpoint = ep, ep
kubeCfg.RemoteImageEndpoint = ep
server := dockerremote.NewDockerServer(ep, ds)
glog.V(2).Infof("Starting the GRPC server for the docker CRI shim.") glog.V(2).Infof("Starting the GRPC server for the docker CRI shim.")
err := server.Start() server := dockerremote.NewDockerServer(ep, ds)
if err != nil { if err := server.Start(); err != nil {
return nil, err 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": case "remote":
runtimeService, imageService, err = getRuntimeAndImageServices(kubeCfg) // No-op.
if err != nil { break
return nil, err
}
default: default:
return nil, fmt.Errorf("unsupported CRI runtime: %q", kubeCfg.ContainerRuntime) return nil, fmt.Errorf("unsupported CRI runtime: %q", kubeCfg.ContainerRuntime)
} }
runtimeService, imageService, err := getRuntimeAndImageServices(kubeCfg)
runtime, err := kuberuntime.NewKubeGenericRuntimeManager( runtime, err := kuberuntime.NewKubeGenericRuntimeManager(
kubecontainer.FilterEventRecorder(kubeDeps.Recorder), kubecontainer.FilterEventRecorder(kubeDeps.Recorder),
klet.livenessManager, klet.livenessManager,
@ -617,7 +595,7 @@ func NewMainKubelet(kubeCfg *componentconfig.KubeletConfiguration, kubeDeps *Kub
int(kubeCfg.RegistryBurst), int(kubeCfg.RegistryBurst),
klet.cpuCFSQuota, klet.cpuCFSQuota,
runtimeService, runtimeService,
kuberuntime.NewInstrumentedImageManagerService(imageService), imageService,
) )
if err != nil { if err != nil {
return nil, err return nil, err

View File

@ -31,7 +31,7 @@ type instrumentedRuntimeService struct {
} }
// Creates an instrumented RuntimeInterface from an existing RuntimeService. // 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} return &instrumentedRuntimeService{service: service}
} }
@ -42,7 +42,7 @@ type instrumentedImageManagerService struct {
} }
// Creates an instrumented ImageManagerService from an existing ImageManagerService. // 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} return &instrumentedImageManagerService{service: service}
} }

View File

@ -143,8 +143,8 @@ func NewKubeGenericRuntimeManager(
osInterface: osInterface, osInterface: osInterface,
networkPlugin: networkPlugin, networkPlugin: networkPlugin,
runtimeHelper: runtimeHelper, runtimeHelper: runtimeHelper,
runtimeService: runtimeService, runtimeService: newInstrumentedRuntimeService(runtimeService),
imageService: imageService, imageService: newInstrumentedImageManagerService(imageService),
keyring: credentialprovider.NewDockerKeyring(), keyring: credentialprovider.NewDockerKeyring(),
} }