Merge pull request #7813 from GoogleCloudPlatform/revert-7811-revert-7806-revert-7743-runtime-switch

Revert "Revert "Revert "Kubelet: Add rkt as a runtime option"""
This commit is contained in:
Victor Marmol 2015-05-05 15:59:56 -07:00
commit db6586bdab
5 changed files with 9 additions and 35 deletions

View File

@ -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.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.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.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', 'rkt'. Default: 'docker'.") fs.StringVar(&s.ContainerRuntime, "container_runtime", s.ContainerRuntime, "The container runtime to use. Possible values: 'docker'. Default: 'docker'.")
// Flags intended for testing, not recommended used in production environments. // 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.") fs.BoolVar(&s.ReallyCrashForTesting, "really-crash-for-testing", s.ReallyCrashForTesting, "If true, when panics occur crash. Intended for testing.")

View File

@ -44,7 +44,6 @@ import (
"github.com/GoogleCloudPlatform/kubernetes/pkg/kubelet/metrics" "github.com/GoogleCloudPlatform/kubernetes/pkg/kubelet/metrics"
"github.com/GoogleCloudPlatform/kubernetes/pkg/kubelet/network" "github.com/GoogleCloudPlatform/kubernetes/pkg/kubelet/network"
"github.com/GoogleCloudPlatform/kubernetes/pkg/kubelet/prober" "github.com/GoogleCloudPlatform/kubernetes/pkg/kubelet/prober"
"github.com/GoogleCloudPlatform/kubernetes/pkg/kubelet/rkt"
kubeletTypes "github.com/GoogleCloudPlatform/kubernetes/pkg/kubelet/types" kubeletTypes "github.com/GoogleCloudPlatform/kubernetes/pkg/kubelet/types"
"github.com/GoogleCloudPlatform/kubernetes/pkg/labels" "github.com/GoogleCloudPlatform/kubernetes/pkg/labels"
"github.com/GoogleCloudPlatform/kubernetes/pkg/runtime" "github.com/GoogleCloudPlatform/kubernetes/pkg/runtime"
@ -262,15 +261,6 @@ func NewMainKubelet(
klet, klet,
klet.httpClient, klet.httpClient,
newKubeletRuntimeHooks(recorder)) newKubeletRuntimeHooks(recorder))
case "rkt":
conf := &rkt.Config{
InsecureSkipVerify: true,
}
rktRuntime, err := rkt.New(conf, klet, recorder, containerRefManager, readinessManager)
if err != nil {
return nil, err
}
klet.containerRuntime = rktRuntime
default: default:
return nil, fmt.Errorf("unsupported container runtime %q specified", containerRuntime) return nil, fmt.Errorf("unsupported container runtime %q specified", containerRuntime)
} }

View File

@ -18,10 +18,11 @@ package rkt
// ImageManager manages and garbage collects the container images for rkt. // ImageManager manages and garbage collects the container images for rkt.
type ImageManager struct { type ImageManager struct {
runtime *runtime
} }
func NewImageManager() *ImageManager { func NewImageManager(r *runtime) *ImageManager {
return &ImageManager{} return &ImageManager{runtime: r}
} }
// GarbageCollect collects the images. It is not implemented by rkt yet. // GarbageCollect collects the images. It is not implemented by rkt yet.

View File

@ -34,7 +34,6 @@ import (
"github.com/GoogleCloudPlatform/kubernetes/pkg/api" "github.com/GoogleCloudPlatform/kubernetes/pkg/api"
"github.com/GoogleCloudPlatform/kubernetes/pkg/capabilities" "github.com/GoogleCloudPlatform/kubernetes/pkg/capabilities"
"github.com/GoogleCloudPlatform/kubernetes/pkg/client/record"
"github.com/GoogleCloudPlatform/kubernetes/pkg/credentialprovider" "github.com/GoogleCloudPlatform/kubernetes/pkg/credentialprovider"
kubecontainer "github.com/GoogleCloudPlatform/kubernetes/pkg/kubelet/container" kubecontainer "github.com/GoogleCloudPlatform/kubernetes/pkg/kubelet/container"
"github.com/GoogleCloudPlatform/kubernetes/pkg/kubelet/prober" "github.com/GoogleCloudPlatform/kubernetes/pkg/kubelet/prober"
@ -105,11 +104,7 @@ var _ kubecontainer.Runtime = &runtime{}
// New creates the rkt container runtime which implements the container runtime interface. // New creates the rkt container runtime which implements the container runtime interface.
// It will test if the rkt binary is in the $PATH, and whether we can get the // It will test if the rkt binary is in the $PATH, and whether we can get the
// version of it. If so, creates the rkt container runtime, otherwise returns an error. // version of it. If so, creates the rkt container runtime, otherwise returns an error.
func New(config *Config, func New(config *Config) (kubecontainer.Runtime, error) {
generator kubecontainer.RunContainerOptionsGenerator,
recorder record.EventRecorder,
containerRefManager *kubecontainer.RefManager,
readinessManager *kubecontainer.ReadinessManager) (kubecontainer.Runtime, error) {
systemdVersion, err := getSystemdVersion() systemdVersion, err := getSystemdVersion()
if err != nil { if err != nil {
return nil, err return nil, err
@ -134,14 +129,11 @@ func New(config *Config,
} }
rkt := &runtime{ rkt := &runtime{
generator: generator, systemd: systemd,
readinessManager: readinessManager, rktBinAbsPath: rktBinAbsPath,
systemd: systemd, config: config,
rktBinAbsPath: rktBinAbsPath, dockerKeyring: credentialprovider.NewDockerKeyring(),
config: config,
dockerKeyring: credentialprovider.NewDockerKeyring(),
} }
rkt.prober = prober.New(rkt, readinessManager, containerRefManager, recorder)
// Test the rkt version. // Test the rkt version.
version, err := rkt.Version() version, err := rkt.Version()

View File

@ -23,7 +23,6 @@ import (
"io" "io"
"github.com/GoogleCloudPlatform/kubernetes/pkg/api" "github.com/GoogleCloudPlatform/kubernetes/pkg/api"
"github.com/GoogleCloudPlatform/kubernetes/pkg/client/record"
kubecontainer "github.com/GoogleCloudPlatform/kubernetes/pkg/kubelet/container" kubecontainer "github.com/GoogleCloudPlatform/kubernetes/pkg/kubelet/container"
) )
@ -33,14 +32,6 @@ type unsupportedRuntime struct {
var _ kubecontainer.Runtime = &unsupportedRuntime{} var _ kubecontainer.Runtime = &unsupportedRuntime{}
func New(config *Config,
generator kubecontainer.RunContainerOptionsGenerator,
recorder record.EventRecorder,
containerRefManager *kubecontainer.RefManager,
readinessManager *kubecontainer.ReadinessManager) (kubecontainer.Runtime, error) {
return nil, unsupportedError
}
var unsupportedError = fmt.Errorf("rkt runtime is unsupported in this platform") var unsupportedError = fmt.Errorf("rkt runtime is unsupported in this platform")
func (ur *unsupportedRuntime) Version() (kubecontainer.Version, error) { func (ur *unsupportedRuntime) Version() (kubecontainer.Version, error) {