Merge pull request #47783 from NickrenREN/containerruntime

Automatic merge from submit-queue (batch tested with PRs 47694, 47772, 47783, 47803, 47673)

Make different container runtimes constant

Make different container runtimes constant to avoid hardcode

**Release note**:

```release-note
NONE
```
pull/6/head
Kubernetes Submit Queue 2017-06-23 08:29:28 -07:00 committed by GitHub
commit d95a8bf66b
4 changed files with 12 additions and 7 deletions

View File

@ -147,7 +147,7 @@ func UnsecuredKubeletDeps(s *options.KubeletServer) (*kubelet.KubeletDeps, error
} }
var dockerClient libdocker.Interface var dockerClient libdocker.Interface
if s.ContainerRuntime == "docker" { if s.ContainerRuntime == kubetypes.DockerContainerRuntime {
dockerClient = libdocker.ConnectToDockerOrDie(s.DockerEndpoint, s.RuntimeRequestTimeout.Duration, dockerClient = libdocker.ConnectToDockerOrDie(s.DockerEndpoint, s.RuntimeRequestTimeout.Duration,
s.ImagePullProgressDeadline.Duration) s.ImagePullProgressDeadline.Duration)
} else { } else {

View File

@ -564,7 +564,7 @@ func NewMainKubelet(kubeCfg *componentconfig.KubeletConfiguration, kubeDeps *Kub
pluginSettings.LegacyRuntimeHost = nl pluginSettings.LegacyRuntimeHost = nl
// rktnetes cannot be run with CRI. // rktnetes cannot be run with CRI.
if kubeCfg.ContainerRuntime != "rkt" { if kubeCfg.ContainerRuntime != kubetypes.RktContainerRuntime {
// kubelet defers to the runtime shim to setup networking. Setting // kubelet defers to the runtime shim to setup networking. Setting
// this to nil will prevent it from trying to invoke the plugin. // this to nil will prevent it from trying to invoke the plugin.
// It's easier to always probe and initialize plugins till cri // It's easier to always probe and initialize plugins till cri
@ -572,7 +572,7 @@ func NewMainKubelet(kubeCfg *componentconfig.KubeletConfiguration, kubeDeps *Kub
klet.networkPlugin = nil klet.networkPlugin = nil
switch kubeCfg.ContainerRuntime { switch kubeCfg.ContainerRuntime {
case "docker": case kubetypes.DockerContainerRuntime:
// Create and start the CRI shim running as a grpc server. // Create and start the CRI shim running as a grpc server.
streamingConfig := getStreamingConfig(kubeCfg, kubeDeps) streamingConfig := getStreamingConfig(kubeCfg, kubeDeps)
ds, err := dockershim.NewDockerService(kubeDeps.DockerClient, kubeCfg.SeccompProfileRoot, crOptions.PodSandboxImage, ds, err := dockershim.NewDockerService(kubeDeps.DockerClient, kubeCfg.SeccompProfileRoot, crOptions.PodSandboxImage,
@ -606,7 +606,7 @@ func NewMainKubelet(kubeCfg *componentconfig.KubeletConfiguration, kubeDeps *Kub
if !supported { if !supported {
klet.dockerLegacyService = dockershim.NewDockerLegacyService(kubeDeps.DockerClient) klet.dockerLegacyService = dockershim.NewDockerLegacyService(kubeDeps.DockerClient)
} }
case "remote": case kubetypes.RemoteContainerRuntime:
// No-op. // No-op.
break break
default: default:
@ -814,7 +814,7 @@ func NewMainKubelet(kubeCfg *componentconfig.KubeletConfiguration, kubeDeps *Kub
klet.appArmorValidator = apparmor.NewValidator(kubeCfg.ContainerRuntime) klet.appArmorValidator = apparmor.NewValidator(kubeCfg.ContainerRuntime)
klet.softAdmitHandlers.AddPodAdmitHandler(lifecycle.NewAppArmorAdmitHandler(klet.appArmorValidator)) klet.softAdmitHandlers.AddPodAdmitHandler(lifecycle.NewAppArmorAdmitHandler(klet.appArmorValidator))
if utilfeature.DefaultFeatureGate.Enabled(features.Accelerators) { if utilfeature.DefaultFeatureGate.Enabled(features.Accelerators) {
if kubeCfg.ContainerRuntime == "docker" { if kubeCfg.ContainerRuntime == kubetypes.DockerContainerRuntime {
if klet.gpuManager, err = nvidia.NewNvidiaGPUManager(klet, kubeDeps.DockerClient); err != nil { if klet.gpuManager, err = nvidia.NewNvidiaGPUManager(klet, kubeDeps.DockerClient); err != nil {
return nil, err return nil, err
} }
@ -2122,7 +2122,7 @@ func (kl *Kubelet) updateRuntimeUp() {
} }
// rkt uses the legacy, non-CRI integration. Don't check the runtime // rkt uses the legacy, non-CRI integration. Don't check the runtime
// conditions for it. // conditions for it.
if kl.kubeletConfiguration.ContainerRuntime != "rkt" { if kl.kubeletConfiguration.ContainerRuntime != kubetypes.RktContainerRuntime {
if s == nil { if s == nil {
glog.Errorf("Container runtime status is nil") glog.Errorf("Container runtime status is nil")
return return

View File

@ -19,4 +19,9 @@ package types
const ( const (
// system default DNS resolver configuration // system default DNS resolver configuration
ResolvConfDefault = "/etc/resolv.conf" ResolvConfDefault = "/etc/resolv.conf"
// different container runtimes
DockerContainerRuntime = "docker"
RktContainerRuntime = "rkt"
RemoteContainerRuntime = "remote"
) )

View File

@ -144,7 +144,7 @@ func GetHollowKubeletConfig(
c.LowDiskSpaceThresholdMB = 256 c.LowDiskSpaceThresholdMB = 256
c.VolumeStatsAggPeriod.Duration = time.Minute c.VolumeStatsAggPeriod.Duration = time.Minute
c.CgroupRoot = "" c.CgroupRoot = ""
c.ContainerRuntime = "docker" c.ContainerRuntime = kubetypes.DockerContainerRuntime
c.CPUCFSQuota = true c.CPUCFSQuota = true
c.RuntimeCgroups = "" c.RuntimeCgroups = ""
c.EnableControllerAttachDetach = false c.EnableControllerAttachDetach = false