diff --git a/pkg/kubelet/kubelet.go b/pkg/kubelet/kubelet.go index b6bc4d406f6..c1e1aa1e611 100644 --- a/pkg/kubelet/kubelet.go +++ b/pkg/kubelet/kubelet.go @@ -279,9 +279,11 @@ func makePodSourceConfig(kubeCfg *kubeletconfiginternal.KubeletConfiguration, ku // Restore from the checkpoint path // NOTE: This MUST happen before creating the apiserver source // below, or the checkpoint would override the source of truth. - updatechannel := cfg.Channel(kubetypes.ApiserverSource) + + var updatechannel chan<- interface{} if bootstrapCheckpointPath != "" { glog.Infof("Adding checkpoint path: %v", bootstrapCheckpointPath) + updatechannel = cfg.Channel(kubetypes.ApiserverSource) err := cfg.Restore(bootstrapCheckpointPath, updatechannel) if err != nil { return nil, err @@ -290,6 +292,9 @@ func makePodSourceConfig(kubeCfg *kubeletconfiginternal.KubeletConfiguration, ku if kubeDeps.KubeClient != nil { glog.Infof("Watching apiserver") + if updatechannel == nil { + updatechannel = cfg.Channel(kubetypes.ApiserverSource) + } config.NewSourceApiserver(kubeDeps.KubeClient, nodeName, updatechannel) } return cfg, nil