mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-08-20 09:05:26 +00:00
Inject dependencies to rkt
This commit is contained in:
parent
1b7749b8d9
commit
5d0e5d7d61
@ -18,11 +18,10 @@ 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(r *runtime) *ImageManager {
|
func NewImageManager() *ImageManager {
|
||||||
return &ImageManager{runtime: r}
|
return &ImageManager{}
|
||||||
}
|
}
|
||||||
|
|
||||||
// GarbageCollect collects the images. It is not implemented by rkt yet.
|
// GarbageCollect collects the images. It is not implemented by rkt yet.
|
||||||
|
@ -34,6 +34,7 @@ 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"
|
||||||
@ -104,7 +105,11 @@ 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) (kubecontainer.Runtime, error) {
|
func New(config *Config,
|
||||||
|
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
|
||||||
@ -129,11 +134,14 @@ func New(config *Config) (kubecontainer.Runtime, error) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
rkt := &runtime{
|
rkt := &runtime{
|
||||||
|
generator: generator,
|
||||||
|
readinessManager: readinessManager,
|
||||||
systemd: systemd,
|
systemd: systemd,
|
||||||
rktBinAbsPath: rktBinAbsPath,
|
rktBinAbsPath: rktBinAbsPath,
|
||||||
config: config,
|
config: config,
|
||||||
dockerKeyring: credentialprovider.NewDockerKeyring(),
|
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,6 +23,7 @@ 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"
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -32,6 +33,14 @@ 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