Skip to content

Commit b469404

Browse files
author
louisgong
committed
hollow-node use remote CRI
1 parent f6337c7 commit b469404

File tree

7 files changed

+32
-27
lines changed

7 files changed

+32
-27
lines changed

cmd/kubemark/BUILD

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,6 @@ go_library(
1919
"//pkg/api/legacyscheme:go_default_library",
2020
"//pkg/kubelet/cadvisor/testing:go_default_library",
2121
"//pkg/kubelet/cm:go_default_library",
22-
"//pkg/kubelet/dockershim:go_default_library",
23-
"//pkg/kubelet/dockershim/libdocker:go_default_library",
2422
"//pkg/kubemark:go_default_library",
2523
"//pkg/master/ports:go_default_library",
2624
"//pkg/util/iptables/testing:go_default_library",

cmd/kubemark/hollow-node.go

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -43,8 +43,6 @@ import (
4343
"k8s.io/kubernetes/pkg/api/legacyscheme"
4444
cadvisortest "k8s.io/kubernetes/pkg/kubelet/cadvisor/testing"
4545
"k8s.io/kubernetes/pkg/kubelet/cm"
46-
"k8s.io/kubernetes/pkg/kubelet/dockershim"
47-
"k8s.io/kubernetes/pkg/kubelet/dockershim/libdocker"
4846
"k8s.io/kubernetes/pkg/kubemark"
4947
"k8s.io/kubernetes/pkg/master/ports"
5048
fakeiptables "k8s.io/kubernetes/pkg/util/iptables/testing"
@@ -195,18 +193,11 @@ func run(config *hollowNodeConfig) {
195193
}
196194
containerManager := cm.NewStubContainerManager()
197195

198-
fakeDockerClientConfig := &dockershim.ClientConfig{
199-
DockerEndpoint: libdocker.FakeDockerEndpoint,
200-
EnableSleep: true,
201-
WithTraceDisabled: true,
202-
}
203-
204196
hollowKubelet := kubemark.NewHollowKubelet(
205197
f, c,
206198
client,
207199
heartbeatClient,
208200
cadvisorInterface,
209-
fakeDockerClientConfig,
210201
containerManager,
211202
)
212203
hollowKubelet.Run()

pkg/kubelet/BUILD

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,7 @@ go_library(
7777
"//pkg/kubelet/prober:go_default_library",
7878
"//pkg/kubelet/prober/results:go_default_library",
7979
"//pkg/kubelet/remote:go_default_library",
80+
"//pkg/kubelet/remote/fake:go_default_library",
8081
"//pkg/kubelet/runtimeclass:go_default_library",
8182
"//pkg/kubelet/secret:go_default_library",
8283
"//pkg/kubelet/server:go_default_library",

pkg/kubelet/kubelet.go

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,7 @@ import (
9393
"k8s.io/kubernetes/pkg/kubelet/prober"
9494
proberesults "k8s.io/kubernetes/pkg/kubelet/prober/results"
9595
"k8s.io/kubernetes/pkg/kubelet/remote"
96+
fakeremote "k8s.io/kubernetes/pkg/kubelet/remote/fake"
9697
"k8s.io/kubernetes/pkg/kubelet/runtimeclass"
9798
"k8s.io/kubernetes/pkg/kubelet/secret"
9899
"k8s.io/kubernetes/pkg/kubelet/server"
@@ -318,6 +319,11 @@ func makePodSourceConfig(kubeCfg *kubeletconfiginternal.KubeletConfiguration, ku
318319
}
319320

320321
func getRuntimeAndImageServices(remoteRuntimeEndpoint string, remoteImageEndpoint string, runtimeRequestTimeout metav1.Duration) (internalapi.RuntimeService, internalapi.ImageManagerService, error) {
322+
if remoteRuntimeEndpoint == fakeremote.FakeRemoteRuntimeEndpoint && remoteImageEndpoint == fakeremote.FakeRemoteImageEndpoint {
323+
fakeRuntime := fakeremote.NewFakeRemoteRuntime()
324+
return fakeRuntime.RuntimeService, fakeRuntime.ImageService, nil
325+
}
326+
321327
rs, err := remote.NewRemoteRuntimeService(remoteRuntimeEndpoint, runtimeRequestTimeout.Duration)
322328
if err != nil {
323329
return nil, nil, err

pkg/kubelet/remote/fake/fake_runtime.go

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,14 @@ import (
2828
utilexec "k8s.io/utils/exec"
2929
)
3030

31+
const (
32+
// FakeRemoteRuntimeEndpoint used by kubemark hollow-node
33+
FakeRemoteRuntimeEndpoint = "fake://runtime"
34+
35+
// FakeRemoteImageEndpoint used by kubemark hollow-node
36+
FakeRemoteImageEndpoint = "fake://image"
37+
)
38+
3139
// RemoteRuntime represents a fake remote container runtime.
3240
type RemoteRuntime struct {
3341
server *grpc.Server

pkg/kubemark/BUILD

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ go_library(
2222
"//pkg/kubelet/cadvisor:go_default_library",
2323
"//pkg/kubelet/cm:go_default_library",
2424
"//pkg/kubelet/container/testing:go_default_library",
25-
"//pkg/kubelet/dockershim:go_default_library",
25+
"//pkg/kubelet/remote/fake:go_default_library",
2626
"//pkg/kubelet/types:go_default_library",
2727
"//pkg/proxy:go_default_library",
2828
"//pkg/proxy/config:go_default_library",

pkg/kubemark/hollow_kubelet.go

Lines changed: 16 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ import (
3232
"k8s.io/kubernetes/pkg/kubelet/cadvisor"
3333
"k8s.io/kubernetes/pkg/kubelet/cm"
3434
containertest "k8s.io/kubernetes/pkg/kubelet/container/testing"
35-
"k8s.io/kubernetes/pkg/kubelet/dockershim"
35+
fakeremote "k8s.io/kubernetes/pkg/kubelet/remote/fake"
3636
kubetypes "k8s.io/kubernetes/pkg/kubelet/types"
3737
"k8s.io/kubernetes/pkg/util/oom"
3838
"k8s.io/kubernetes/pkg/volume"
@@ -98,22 +98,20 @@ func NewHollowKubelet(
9898
client *clientset.Clientset,
9999
heartbeatClient *clientset.Clientset,
100100
cadvisorInterface cadvisor.Interface,
101-
dockerClientConfig *dockershim.ClientConfig,
102101
containerManager cm.ContainerManager) *HollowKubelet {
103102
d := &kubelet.Dependencies{
104-
KubeClient: client,
105-
HeartbeatClient: heartbeatClient,
106-
DockerClientConfig: dockerClientConfig,
107-
CAdvisorInterface: cadvisorInterface,
108-
Cloud: nil,
109-
OSInterface: &containertest.FakeOS{},
110-
ContainerManager: containerManager,
111-
VolumePlugins: volumePlugins(),
112-
TLSOptions: nil,
113-
OOMAdjuster: oom.NewFakeOOMAdjuster(),
114-
Mounter: &mount.FakeMounter{},
115-
Subpather: &subpath.FakeSubpath{},
116-
HostUtil: hostutil.NewFakeHostUtil(nil),
103+
KubeClient: client,
104+
HeartbeatClient: heartbeatClient,
105+
CAdvisorInterface: cadvisorInterface,
106+
Cloud: nil,
107+
OSInterface: &containertest.FakeOS{},
108+
ContainerManager: containerManager,
109+
VolumePlugins: volumePlugins(),
110+
TLSOptions: nil,
111+
OOMAdjuster: oom.NewFakeOOMAdjuster(),
112+
Mounter: &mount.FakeMounter{},
113+
Subpather: &subpath.FakeSubpath{},
114+
HostUtil: hostutil.NewFakeHostUtil(nil),
117115
}
118116

119117
return &HollowKubelet{
@@ -160,6 +158,9 @@ func GetHollowKubeletConfig(opt *HollowKubletOptions) (*options.KubeletFlags, *k
160158
f.MaxContainerCount = 100
161159
f.MaxPerPodContainerCount = 2
162160
f.NodeLabels = opt.NodeLabels
161+
f.ContainerRuntimeOptions.ContainerRuntime = kubetypes.RemoteContainerRuntime
162+
f.RemoteRuntimeEndpoint = fakeremote.FakeRemoteRuntimeEndpoint
163+
f.RemoteImageEndpoint = fakeremote.FakeRemoteImageEndpoint
163164
f.RegisterNode = true
164165
f.RegisterSchedulable = true
165166
f.ProviderID = fmt.Sprintf("kubemark://%v", opt.NodeName)

0 commit comments

Comments
 (0)