kubelet: don't set secret and configmap manager if running in standalone mode

This commit is contained in:
Paco Xu 2022-11-01 15:00:03 +08:00
parent 98742f9d77
commit 57a3af1f87
2 changed files with 31 additions and 19 deletions

View File

@ -550,24 +550,26 @@ func NewMainKubelet(kubeCfg *kubeletconfiginternal.KubeletConfiguration,
var secretManager secret.Manager var secretManager secret.Manager
var configMapManager configmap.Manager var configMapManager configmap.Manager
switch kubeCfg.ConfigMapAndSecretChangeDetectionStrategy { if klet.kubeClient != nil {
case kubeletconfiginternal.WatchChangeDetectionStrategy: switch kubeCfg.ConfigMapAndSecretChangeDetectionStrategy {
secretManager = secret.NewWatchingSecretManager(kubeDeps.KubeClient, klet.resyncInterval) case kubeletconfiginternal.WatchChangeDetectionStrategy:
configMapManager = configmap.NewWatchingConfigMapManager(kubeDeps.KubeClient, klet.resyncInterval) secretManager = secret.NewWatchingSecretManager(klet.kubeClient, klet.resyncInterval)
case kubeletconfiginternal.TTLCacheChangeDetectionStrategy: configMapManager = configmap.NewWatchingConfigMapManager(klet.kubeClient, klet.resyncInterval)
secretManager = secret.NewCachingSecretManager( case kubeletconfiginternal.TTLCacheChangeDetectionStrategy:
kubeDeps.KubeClient, manager.GetObjectTTLFromNodeFunc(klet.GetNode)) secretManager = secret.NewCachingSecretManager(
configMapManager = configmap.NewCachingConfigMapManager( klet.kubeClient, manager.GetObjectTTLFromNodeFunc(klet.GetNode))
kubeDeps.KubeClient, manager.GetObjectTTLFromNodeFunc(klet.GetNode)) configMapManager = configmap.NewCachingConfigMapManager(
case kubeletconfiginternal.GetChangeDetectionStrategy: klet.kubeClient, manager.GetObjectTTLFromNodeFunc(klet.GetNode))
secretManager = secret.NewSimpleSecretManager(kubeDeps.KubeClient) case kubeletconfiginternal.GetChangeDetectionStrategy:
configMapManager = configmap.NewSimpleConfigMapManager(kubeDeps.KubeClient) secretManager = secret.NewSimpleSecretManager(klet.kubeClient)
default: configMapManager = configmap.NewSimpleConfigMapManager(klet.kubeClient)
return nil, fmt.Errorf("unknown configmap and secret manager mode: %v", kubeCfg.ConfigMapAndSecretChangeDetectionStrategy) default:
} return nil, fmt.Errorf("unknown configmap and secret manager mode: %v", kubeCfg.ConfigMapAndSecretChangeDetectionStrategy)
}
klet.secretManager = secretManager klet.secretManager = secretManager
klet.configMapManager = configMapManager klet.configMapManager = configMapManager
}
if klet.experimentalHostUserNamespaceDefaulting { if klet.experimentalHostUserNamespaceDefaulting {
klog.InfoS("Experimental host user namespace defaulting is enabled") klog.InfoS("Experimental host user namespace defaulting is enabled")

View File

@ -257,11 +257,21 @@ func (kvh *kubeletVolumeHost) GetNodeAllocatable() (v1.ResourceList, error) {
} }
func (kvh *kubeletVolumeHost) GetSecretFunc() func(namespace, name string) (*v1.Secret, error) { func (kvh *kubeletVolumeHost) GetSecretFunc() func(namespace, name string) (*v1.Secret, error) {
return kvh.secretManager.GetSecret if kvh.secretManager != nil {
return kvh.secretManager.GetSecret
}
return func(namespace, name string) (*v1.Secret, error) {
return nil, fmt.Errorf("not supported")
}
} }
func (kvh *kubeletVolumeHost) GetConfigMapFunc() func(namespace, name string) (*v1.ConfigMap, error) { func (kvh *kubeletVolumeHost) GetConfigMapFunc() func(namespace, name string) (*v1.ConfigMap, error) {
return kvh.configMapManager.GetConfigMap if kvh.configMapManager != nil {
return kvh.configMapManager.GetConfigMap
}
return func(namespace, name string) (*v1.ConfigMap, error) {
return nil, fmt.Errorf("not supported")
}
} }
func (kvh *kubeletVolumeHost) GetServiceAccountTokenFunc() func(namespace, name string, tr *authenticationv1.TokenRequest) (*authenticationv1.TokenRequest, error) { func (kvh *kubeletVolumeHost) GetServiceAccountTokenFunc() func(namespace, name string, tr *authenticationv1.TokenRequest) (*authenticationv1.TokenRequest, error) {