mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-26 05:03:09 +00:00
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:
commit
db6586bdab
@ -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.")
|
||||||
|
@ -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)
|
||||||
}
|
}
|
||||||
|
@ -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.
|
||||||
|
@ -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()
|
||||||
|
@ -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) {
|
||||||
|
Loading…
Reference in New Issue
Block a user