Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Merged
merged 1 commit into from
Jan 27, 2017
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
58 changes: 18 additions & 40 deletions pkg/kubelet/kubelet.go
Expand Up @@ -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,
Expand All @@ -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
Expand Down
4 changes: 2 additions & 2 deletions pkg/kubelet/kuberuntime/instrumented_services.go
Expand Up @@ -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}
}

Expand All @@ -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}
}

Expand Down
4 changes: 2 additions & 2 deletions pkg/kubelet/kuberuntime/kuberuntime_manager.go
Expand Up @@ -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(),
}

Expand Down