diff --git a/pkg/kubelet/kubelet.go b/pkg/kubelet/kubelet.go index 0207a88eddc..cb2b567b79d 100644 --- a/pkg/kubelet/kubelet.go +++ b/pkg/kubelet/kubelet.go @@ -780,7 +780,7 @@ func NewMainKubelet(kubeCfg *kubeletconfiginternal.KubeletConfiguration, containerRefManager, kubeDeps.Recorder) - tokenManager := token.NewManager(kubeDeps.KubeClient.CoreV1()) + tokenManager := token.NewManager(kubeDeps.KubeClient) klet.volumePluginMgr, err = NewInitializedVolumePluginMgr(klet, secretManager, configMapManager, tokenManager, kubeDeps.VolumePlugins, kubeDeps.DynamicPluginProber) diff --git a/pkg/kubelet/kubelet_test.go b/pkg/kubelet/kubelet_test.go index f49d86eed1c..fd18b128331 100644 --- a/pkg/kubelet/kubelet_test.go +++ b/pkg/kubelet/kubelet_test.go @@ -326,7 +326,7 @@ func newTestKubeletWithImageList( var prober volume.DynamicPluginProber = nil // TODO (#51147) inject mock kubelet.volumePluginMgr, err = - NewInitializedVolumePluginMgr(kubelet, kubelet.secretManager, kubelet.configMapManager, token.NewManager(kubelet.kubeClient.CoreV1()), allPlugins, prober) + NewInitializedVolumePluginMgr(kubelet, kubelet.secretManager, kubelet.configMapManager, token.NewManager(kubelet.kubeClient), allPlugins, prober) require.NoError(t, err, "Failed to initialize VolumePluginMgr") kubelet.mounter = &mount.FakeMounter{} diff --git a/pkg/kubelet/token/BUILD b/pkg/kubelet/token/BUILD index d861681f574..d4d812a25a5 100644 --- a/pkg/kubelet/token/BUILD +++ b/pkg/kubelet/token/BUILD @@ -24,7 +24,7 @@ go_library( "//vendor/k8s.io/api/authentication/v1:go_default_library", "//vendor/k8s.io/apimachinery/pkg/util/clock:go_default_library", "//vendor/k8s.io/apimachinery/pkg/util/wait:go_default_library", - "//vendor/k8s.io/client-go/kubernetes/typed/core/v1:go_default_library", + "//vendor/k8s.io/client-go/kubernetes:go_default_library", ], ) diff --git a/pkg/kubelet/token/token_manager.go b/pkg/kubelet/token/token_manager.go index 6d7ce23aea0..db052e51e41 100644 --- a/pkg/kubelet/token/token_manager.go +++ b/pkg/kubelet/token/token_manager.go @@ -19,6 +19,7 @@ limitations under the License. package token import ( + "errors" "fmt" "sync" "time" @@ -27,7 +28,7 @@ import ( authenticationv1 "k8s.io/api/authentication/v1" "k8s.io/apimachinery/pkg/util/clock" "k8s.io/apimachinery/pkg/util/wait" - corev1 "k8s.io/client-go/kubernetes/typed/core/v1" + clientset "k8s.io/client-go/kubernetes" ) const ( @@ -36,10 +37,13 @@ const ( ) // NewManager returns a new token manager. -func NewManager(c corev1.CoreV1Interface) *Manager { +func NewManager(c clientset.Interface) *Manager { m := &Manager{ getToken: func(name, namespace string, tr *authenticationv1.TokenRequest) (*authenticationv1.TokenRequest, error) { - return c.ServiceAccounts(namespace).CreateToken(name, tr) + if c == nil { + return nil, errors.New("cannot use TokenManager when kubelet is in standalone mode") + } + return c.CoreV1().ServiceAccounts(namespace).CreateToken(name, tr) }, cache: make(map[string]*authenticationv1.TokenRequest), clock: clock.RealClock{},