mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-30 23:15:14 +00:00
hollow-node use remote CRI
This commit is contained in:
parent
f6337c7624
commit
b469404d97
@ -19,8 +19,6 @@ go_library(
|
||||
"//pkg/api/legacyscheme:go_default_library",
|
||||
"//pkg/kubelet/cadvisor/testing:go_default_library",
|
||||
"//pkg/kubelet/cm:go_default_library",
|
||||
"//pkg/kubelet/dockershim:go_default_library",
|
||||
"//pkg/kubelet/dockershim/libdocker:go_default_library",
|
||||
"//pkg/kubemark:go_default_library",
|
||||
"//pkg/master/ports:go_default_library",
|
||||
"//pkg/util/iptables/testing:go_default_library",
|
||||
|
@ -43,8 +43,6 @@ import (
|
||||
"k8s.io/kubernetes/pkg/api/legacyscheme"
|
||||
cadvisortest "k8s.io/kubernetes/pkg/kubelet/cadvisor/testing"
|
||||
"k8s.io/kubernetes/pkg/kubelet/cm"
|
||||
"k8s.io/kubernetes/pkg/kubelet/dockershim"
|
||||
"k8s.io/kubernetes/pkg/kubelet/dockershim/libdocker"
|
||||
"k8s.io/kubernetes/pkg/kubemark"
|
||||
"k8s.io/kubernetes/pkg/master/ports"
|
||||
fakeiptables "k8s.io/kubernetes/pkg/util/iptables/testing"
|
||||
@ -195,18 +193,11 @@ func run(config *hollowNodeConfig) {
|
||||
}
|
||||
containerManager := cm.NewStubContainerManager()
|
||||
|
||||
fakeDockerClientConfig := &dockershim.ClientConfig{
|
||||
DockerEndpoint: libdocker.FakeDockerEndpoint,
|
||||
EnableSleep: true,
|
||||
WithTraceDisabled: true,
|
||||
}
|
||||
|
||||
hollowKubelet := kubemark.NewHollowKubelet(
|
||||
f, c,
|
||||
client,
|
||||
heartbeatClient,
|
||||
cadvisorInterface,
|
||||
fakeDockerClientConfig,
|
||||
containerManager,
|
||||
)
|
||||
hollowKubelet.Run()
|
||||
|
@ -77,6 +77,7 @@ go_library(
|
||||
"//pkg/kubelet/prober:go_default_library",
|
||||
"//pkg/kubelet/prober/results:go_default_library",
|
||||
"//pkg/kubelet/remote:go_default_library",
|
||||
"//pkg/kubelet/remote/fake:go_default_library",
|
||||
"//pkg/kubelet/runtimeclass:go_default_library",
|
||||
"//pkg/kubelet/secret:go_default_library",
|
||||
"//pkg/kubelet/server:go_default_library",
|
||||
|
@ -93,6 +93,7 @@ import (
|
||||
"k8s.io/kubernetes/pkg/kubelet/prober"
|
||||
proberesults "k8s.io/kubernetes/pkg/kubelet/prober/results"
|
||||
"k8s.io/kubernetes/pkg/kubelet/remote"
|
||||
fakeremote "k8s.io/kubernetes/pkg/kubelet/remote/fake"
|
||||
"k8s.io/kubernetes/pkg/kubelet/runtimeclass"
|
||||
"k8s.io/kubernetes/pkg/kubelet/secret"
|
||||
"k8s.io/kubernetes/pkg/kubelet/server"
|
||||
@ -318,6 +319,11 @@ func makePodSourceConfig(kubeCfg *kubeletconfiginternal.KubeletConfiguration, ku
|
||||
}
|
||||
|
||||
func getRuntimeAndImageServices(remoteRuntimeEndpoint string, remoteImageEndpoint string, runtimeRequestTimeout metav1.Duration) (internalapi.RuntimeService, internalapi.ImageManagerService, error) {
|
||||
if remoteRuntimeEndpoint == fakeremote.FakeRemoteRuntimeEndpoint && remoteImageEndpoint == fakeremote.FakeRemoteImageEndpoint {
|
||||
fakeRuntime := fakeremote.NewFakeRemoteRuntime()
|
||||
return fakeRuntime.RuntimeService, fakeRuntime.ImageService, nil
|
||||
}
|
||||
|
||||
rs, err := remote.NewRemoteRuntimeService(remoteRuntimeEndpoint, runtimeRequestTimeout.Duration)
|
||||
if err != nil {
|
||||
return nil, nil, err
|
||||
|
@ -28,6 +28,14 @@ import (
|
||||
utilexec "k8s.io/utils/exec"
|
||||
)
|
||||
|
||||
const (
|
||||
// FakeRemoteRuntimeEndpoint used by kubemark hollow-node
|
||||
FakeRemoteRuntimeEndpoint = "fake://runtime"
|
||||
|
||||
// FakeRemoteImageEndpoint used by kubemark hollow-node
|
||||
FakeRemoteImageEndpoint = "fake://image"
|
||||
)
|
||||
|
||||
// RemoteRuntime represents a fake remote container runtime.
|
||||
type RemoteRuntime struct {
|
||||
server *grpc.Server
|
||||
|
@ -22,7 +22,7 @@ go_library(
|
||||
"//pkg/kubelet/cadvisor:go_default_library",
|
||||
"//pkg/kubelet/cm:go_default_library",
|
||||
"//pkg/kubelet/container/testing:go_default_library",
|
||||
"//pkg/kubelet/dockershim:go_default_library",
|
||||
"//pkg/kubelet/remote/fake:go_default_library",
|
||||
"//pkg/kubelet/types:go_default_library",
|
||||
"//pkg/proxy:go_default_library",
|
||||
"//pkg/proxy/config:go_default_library",
|
||||
|
@ -32,7 +32,7 @@ import (
|
||||
"k8s.io/kubernetes/pkg/kubelet/cadvisor"
|
||||
"k8s.io/kubernetes/pkg/kubelet/cm"
|
||||
containertest "k8s.io/kubernetes/pkg/kubelet/container/testing"
|
||||
"k8s.io/kubernetes/pkg/kubelet/dockershim"
|
||||
fakeremote "k8s.io/kubernetes/pkg/kubelet/remote/fake"
|
||||
kubetypes "k8s.io/kubernetes/pkg/kubelet/types"
|
||||
"k8s.io/kubernetes/pkg/util/oom"
|
||||
"k8s.io/kubernetes/pkg/volume"
|
||||
@ -98,22 +98,20 @@ func NewHollowKubelet(
|
||||
client *clientset.Clientset,
|
||||
heartbeatClient *clientset.Clientset,
|
||||
cadvisorInterface cadvisor.Interface,
|
||||
dockerClientConfig *dockershim.ClientConfig,
|
||||
containerManager cm.ContainerManager) *HollowKubelet {
|
||||
d := &kubelet.Dependencies{
|
||||
KubeClient: client,
|
||||
HeartbeatClient: heartbeatClient,
|
||||
DockerClientConfig: dockerClientConfig,
|
||||
CAdvisorInterface: cadvisorInterface,
|
||||
Cloud: nil,
|
||||
OSInterface: &containertest.FakeOS{},
|
||||
ContainerManager: containerManager,
|
||||
VolumePlugins: volumePlugins(),
|
||||
TLSOptions: nil,
|
||||
OOMAdjuster: oom.NewFakeOOMAdjuster(),
|
||||
Mounter: &mount.FakeMounter{},
|
||||
Subpather: &subpath.FakeSubpath{},
|
||||
HostUtil: hostutil.NewFakeHostUtil(nil),
|
||||
KubeClient: client,
|
||||
HeartbeatClient: heartbeatClient,
|
||||
CAdvisorInterface: cadvisorInterface,
|
||||
Cloud: nil,
|
||||
OSInterface: &containertest.FakeOS{},
|
||||
ContainerManager: containerManager,
|
||||
VolumePlugins: volumePlugins(),
|
||||
TLSOptions: nil,
|
||||
OOMAdjuster: oom.NewFakeOOMAdjuster(),
|
||||
Mounter: &mount.FakeMounter{},
|
||||
Subpather: &subpath.FakeSubpath{},
|
||||
HostUtil: hostutil.NewFakeHostUtil(nil),
|
||||
}
|
||||
|
||||
return &HollowKubelet{
|
||||
@ -160,6 +158,9 @@ func GetHollowKubeletConfig(opt *HollowKubletOptions) (*options.KubeletFlags, *k
|
||||
f.MaxContainerCount = 100
|
||||
f.MaxPerPodContainerCount = 2
|
||||
f.NodeLabels = opt.NodeLabels
|
||||
f.ContainerRuntimeOptions.ContainerRuntime = kubetypes.RemoteContainerRuntime
|
||||
f.RemoteRuntimeEndpoint = fakeremote.FakeRemoteRuntimeEndpoint
|
||||
f.RemoteImageEndpoint = fakeremote.FakeRemoteImageEndpoint
|
||||
f.RegisterNode = true
|
||||
f.RegisterSchedulable = true
|
||||
f.ProviderID = fmt.Sprintf("kubemark://%v", opt.NodeName)
|
||||
|
Loading…
Reference in New Issue
Block a user