fix kubemark use fake CRI

This commit is contained in:
louisgong 2019-12-24 18:45:41 +08:00
parent 324e5ce7e3
commit 8d54a84507
4 changed files with 23 additions and 6 deletions

View File

@ -19,6 +19,7 @@ go_library(
"//pkg/api/legacyscheme:go_default_library", "//pkg/api/legacyscheme:go_default_library",
"//pkg/kubelet/cadvisor/testing:go_default_library", "//pkg/kubelet/cadvisor/testing:go_default_library",
"//pkg/kubelet/cm:go_default_library", "//pkg/kubelet/cm:go_default_library",
"//pkg/kubelet/remote:go_default_library",
"//pkg/kubelet/remote/fake:go_default_library", "//pkg/kubelet/remote/fake:go_default_library",
"//pkg/kubemark:go_default_library", "//pkg/kubemark:go_default_library",
"//pkg/master/ports:go_default_library", "//pkg/master/ports:go_default_library",

View File

@ -43,6 +43,7 @@ import (
"k8s.io/kubernetes/pkg/api/legacyscheme" "k8s.io/kubernetes/pkg/api/legacyscheme"
cadvisortest "k8s.io/kubernetes/pkg/kubelet/cadvisor/testing" cadvisortest "k8s.io/kubernetes/pkg/kubelet/cadvisor/testing"
"k8s.io/kubernetes/pkg/kubelet/cm" "k8s.io/kubernetes/pkg/kubelet/cm"
"k8s.io/kubernetes/pkg/kubelet/remote"
fakeremote "k8s.io/kubernetes/pkg/kubelet/remote/fake" fakeremote "k8s.io/kubernetes/pkg/kubelet/remote/fake"
"k8s.io/kubernetes/pkg/kubemark" "k8s.io/kubernetes/pkg/kubemark"
"k8s.io/kubernetes/pkg/master/ports" "k8s.io/kubernetes/pkg/master/ports"
@ -193,14 +194,28 @@ func run(config *hollowNodeConfig) {
NodeName: config.NodeName, NodeName: config.NodeName,
} }
containerManager := cm.NewStubContainerManager() containerManager := cm.NewStubContainerManager()
endpoint, err := fakeremote.GenerateEndpoint()
if err != nil {
klog.Fatalf("Failed to generate fake endpoint %v.", err)
}
fakeRemoteRuntime := fakeremote.NewFakeRemoteRuntime() fakeRemoteRuntime := fakeremote.NewFakeRemoteRuntime()
if err = fakeRemoteRuntime.Start(endpoint); err != nil {
klog.Fatalf("Failed to start fake runtime %v.", err)
}
defer fakeRemoteRuntime.Stop()
runtimeService, err := remote.NewRemoteRuntimeService(endpoint, 15*time.Second)
if err != nil {
klog.Fatalf("Failed to init runtime service %v.", err)
}
hollowKubelet := kubemark.NewHollowKubelet( hollowKubelet := kubemark.NewHollowKubelet(
f, c, f, c,
client, client,
heartbeatClient, heartbeatClient,
cadvisorInterface, cadvisorInterface,
fakeRemoteRuntime, fakeRemoteRuntime.ImageService,
runtimeService,
containerManager, containerManager,
) )
hollowKubelet.Run() hollowKubelet.Run()

View File

@ -22,7 +22,6 @@ go_library(
"//pkg/kubelet/cadvisor:go_default_library", "//pkg/kubelet/cadvisor:go_default_library",
"//pkg/kubelet/cm:go_default_library", "//pkg/kubelet/cm:go_default_library",
"//pkg/kubelet/container/testing:go_default_library", "//pkg/kubelet/container/testing:go_default_library",
"//pkg/kubelet/remote/fake:go_default_library",
"//pkg/kubelet/types:go_default_library", "//pkg/kubelet/types:go_default_library",
"//pkg/proxy:go_default_library", "//pkg/proxy:go_default_library",
"//pkg/proxy/config:go_default_library", "//pkg/proxy/config:go_default_library",
@ -66,6 +65,7 @@ go_library(
"//staging/src/k8s.io/client-go/listers/core/v1:go_default_library", "//staging/src/k8s.io/client-go/listers/core/v1:go_default_library",
"//staging/src/k8s.io/client-go/tools/cache:go_default_library", "//staging/src/k8s.io/client-go/tools/cache:go_default_library",
"//staging/src/k8s.io/client-go/tools/record:go_default_library", "//staging/src/k8s.io/client-go/tools/record:go_default_library",
"//staging/src/k8s.io/cri-api/pkg/apis:go_default_library",
"//test/utils:go_default_library", "//test/utils:go_default_library",
"//vendor/k8s.io/klog:go_default_library", "//vendor/k8s.io/klog:go_default_library",
"//vendor/k8s.io/utils/exec:go_default_library", "//vendor/k8s.io/utils/exec:go_default_library",

View File

@ -25,6 +25,7 @@ import (
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
clientset "k8s.io/client-go/kubernetes" clientset "k8s.io/client-go/kubernetes"
internalapi "k8s.io/cri-api/pkg/apis"
kubeletapp "k8s.io/kubernetes/cmd/kubelet/app" kubeletapp "k8s.io/kubernetes/cmd/kubelet/app"
"k8s.io/kubernetes/cmd/kubelet/app/options" "k8s.io/kubernetes/cmd/kubelet/app/options"
"k8s.io/kubernetes/pkg/kubelet" "k8s.io/kubernetes/pkg/kubelet"
@ -32,7 +33,6 @@ import (
"k8s.io/kubernetes/pkg/kubelet/cadvisor" "k8s.io/kubernetes/pkg/kubelet/cadvisor"
"k8s.io/kubernetes/pkg/kubelet/cm" "k8s.io/kubernetes/pkg/kubelet/cm"
containertest "k8s.io/kubernetes/pkg/kubelet/container/testing" containertest "k8s.io/kubernetes/pkg/kubelet/container/testing"
fakeremote "k8s.io/kubernetes/pkg/kubelet/remote/fake"
kubetypes "k8s.io/kubernetes/pkg/kubelet/types" kubetypes "k8s.io/kubernetes/pkg/kubelet/types"
"k8s.io/kubernetes/pkg/util/oom" "k8s.io/kubernetes/pkg/util/oom"
"k8s.io/kubernetes/pkg/volume" "k8s.io/kubernetes/pkg/volume"
@ -98,13 +98,14 @@ func NewHollowKubelet(
client *clientset.Clientset, client *clientset.Clientset,
heartbeatClient *clientset.Clientset, heartbeatClient *clientset.Clientset,
cadvisorInterface cadvisor.Interface, cadvisorInterface cadvisor.Interface,
remoteRuntime *fakeremote.RemoteRuntime, imageService internalapi.ImageManagerService,
runtimeService internalapi.RuntimeService,
containerManager cm.ContainerManager) *HollowKubelet { containerManager cm.ContainerManager) *HollowKubelet {
d := &kubelet.Dependencies{ d := &kubelet.Dependencies{
KubeClient: client, KubeClient: client,
HeartbeatClient: heartbeatClient, HeartbeatClient: heartbeatClient,
RemoteRuntimeService: remoteRuntime.RuntimeService, RemoteRuntimeService: runtimeService,
RemoteImageService: remoteRuntime.ImageService, RemoteImageService: imageService,
CAdvisorInterface: cadvisorInterface, CAdvisorInterface: cadvisorInterface,
Cloud: nil, Cloud: nil,
OSInterface: &containertest.FakeOS{}, OSInterface: &containertest.FakeOS{},