From a1f7ae7ab3fa4c1fd62759214a75a30824b7dd99 Mon Sep 17 00:00:00 2001 From: Yu-Ju Hong Date: Tue, 11 Sep 2018 13:21:53 -0700 Subject: [PATCH] kubelet: skip initializing/using the RuntimeClass in standalone mode In standalone mode, kubelet will not be configured to talk to an apiserver. The RuntimeClass manager should be disabled in this case. --- pkg/kubelet/kubelet.go | 2 +- pkg/kubelet/kuberuntime/kuberuntime_sandbox.go | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/pkg/kubelet/kubelet.go b/pkg/kubelet/kubelet.go index 6d31ace48d..d740861eae 100644 --- a/pkg/kubelet/kubelet.go +++ b/pkg/kubelet/kubelet.go @@ -657,7 +657,7 @@ func NewMainKubelet(kubeCfg *kubeletconfiginternal.KubeletConfiguration, } klet.runtimeService = runtimeService - if utilfeature.DefaultFeatureGate.Enabled(features.RuntimeClass) { + if utilfeature.DefaultFeatureGate.Enabled(features.RuntimeClass) && kubeDeps.DynamicKubeClient != nil { klet.runtimeClassManager = runtimeclass.NewManager(kubeDeps.DynamicKubeClient) } diff --git a/pkg/kubelet/kuberuntime/kuberuntime_sandbox.go b/pkg/kubelet/kuberuntime/kuberuntime_sandbox.go index 15f9b4b59c..c9c8fd2897 100644 --- a/pkg/kubelet/kuberuntime/kuberuntime_sandbox.go +++ b/pkg/kubelet/kuberuntime/kuberuntime_sandbox.go @@ -51,7 +51,7 @@ func (m *kubeGenericRuntimeManager) createPodSandbox(pod *v1.Pod, attempt uint32 } runtimeHandler := "" - if utilfeature.DefaultFeatureGate.Enabled(features.RuntimeClass) { + if utilfeature.DefaultFeatureGate.Enabled(features.RuntimeClass) && m.runtimeClassManager != nil { runtimeHandler, err = m.runtimeClassManager.LookupRuntimeHandler(pod.Spec.RuntimeClassName) if err != nil { message := fmt.Sprintf("CreatePodSandbox for pod %q failed: %v", format.Pod(pod), err)