From 4f6535ed8a3d28868b46c4b29aa362b04a4f3dfa Mon Sep 17 00:00:00 2001 From: Yifan Gu Date: Thu, 7 May 2015 10:31:58 -0700 Subject: [PATCH] kubelet: Add container runtime option for rkt. --- cmd/kubelet/app/server.go | 2 +- pkg/kubelet/kubelet.go | 14 ++++++++++++++ 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/cmd/kubelet/app/server.go b/cmd/kubelet/app/server.go index 875825bf9e8..0f8abfc1183 100644 --- a/cmd/kubelet/app/server.go +++ b/cmd/kubelet/app/server.go @@ -210,7 +210,7 @@ func (s *KubeletServer) AddFlags(fs *pflag.FlagSet) { fs.StringVar(&s.CloudConfigFile, "cloud-config", s.CloudConfigFile, "The path to the cloud provider configuration file. Empty string for no configuration file.") fs.StringVar(&s.ResourceContainer, "resource-container", s.ResourceContainer, "Absolute name of the resource-only container to create and run the Kubelet in (Default: /kubelet).") fs.StringVar(&s.CgroupRoot, "cgroup_root", s.CgroupRoot, "Optional root cgroup to use for pods. This is handled by the container runtime on a best effort basis. Default: '', which means use the container runtime default.") - fs.StringVar(&s.ContainerRuntime, "container_runtime", s.ContainerRuntime, "The container runtime to use. Possible values: 'docker'. Default: 'docker'.") + fs.StringVar(&s.ContainerRuntime, "container_runtime", s.ContainerRuntime, "The container runtime to use. Possible values: 'docker', 'rkt'. Default: 'docker'.") // Flags intended for testing, not recommended used in production environments. fs.BoolVar(&s.ReallyCrashForTesting, "really-crash-for-testing", s.ReallyCrashForTesting, "If true, when panics occur crash. Intended for testing.") diff --git a/pkg/kubelet/kubelet.go b/pkg/kubelet/kubelet.go index ccf7daa547b..6f1ed166f6c 100644 --- a/pkg/kubelet/kubelet.go +++ b/pkg/kubelet/kubelet.go @@ -45,6 +45,7 @@ import ( "github.com/GoogleCloudPlatform/kubernetes/pkg/kubelet/metrics" "github.com/GoogleCloudPlatform/kubernetes/pkg/kubelet/network" "github.com/GoogleCloudPlatform/kubernetes/pkg/kubelet/prober" + "github.com/GoogleCloudPlatform/kubernetes/pkg/kubelet/rkt" kubeletTypes "github.com/GoogleCloudPlatform/kubernetes/pkg/kubelet/types" "github.com/GoogleCloudPlatform/kubernetes/pkg/labels" "github.com/GoogleCloudPlatform/kubernetes/pkg/runtime" @@ -263,6 +264,19 @@ func NewMainKubelet( klet, klet.httpClient, newKubeletRuntimeHooks(recorder)) + case "rkt": + conf := &rkt.Config{InsecureSkipVerify: true} + rktRuntime, err := rkt.New( + conf, + klet, + recorder, + containerRefManager, + readinessManager, + klet.volumeManager) + if err != nil { + return nil, err + } + klet.containerRuntime = rktRuntime default: return nil, fmt.Errorf("unsupported container runtime %q specified", containerRuntime) }