diff --git a/cmd/kube-controller-manager/app/controllermanager.go b/cmd/kube-controller-manager/app/controllermanager.go index e74aa6e2122b..f6b7cde405b5 100644 --- a/cmd/kube-controller-manager/app/controllermanager.go +++ b/cmd/kube-controller-manager/app/controllermanager.go @@ -277,7 +277,8 @@ func Run(c *config.CompletedConfig, stopCh <-chan struct{}) error { run(ctx, startSATokenController, initializersFunc) }, OnStoppedLeading: func() { - klog.Fatalf("leaderelection lost") + klog.ErrorS(nil, "leaderelection lost") + klog.FlushAndExit(klog.ExitFlushTimeout, 1) }, }) @@ -300,7 +301,8 @@ func Run(c *config.CompletedConfig, stopCh <-chan struct{}) error { run(ctx, nil, createInitializersFunc(leaderMigrator.FilterFunc, leadermigration.ControllerMigrated)) }, OnStoppedLeading: func() { - klog.Fatalf("migration leaderelection lost") + klog.ErrorS(nil, "migration leaderelection lost") + klog.FlushAndExit(klog.ExitFlushTimeout, 1) }, }) } diff --git a/cmd/kube-scheduler/app/server.go b/cmd/kube-scheduler/app/server.go index b5bcb6be9f72..c9cfd3f8794d 100644 --- a/cmd/kube-scheduler/app/server.go +++ b/cmd/kube-scheduler/app/server.go @@ -210,7 +210,7 @@ func Run(ctx context.Context, cc *schedulerserverconfig.CompletedConfig, sched * default: // We lost the lock. klog.ErrorS(nil, "Leaderelection lost") - os.Exit(1) + klog.FlushAndExit(klog.ExitFlushTimeout, 1) } }, } diff --git a/staging/src/k8s.io/cloud-provider/app/controllermanager.go b/staging/src/k8s.io/cloud-provider/app/controllermanager.go index dd88a7c24ed0..f83c62dab0a2 100644 --- a/staging/src/k8s.io/cloud-provider/app/controllermanager.go +++ b/staging/src/k8s.io/cloud-provider/app/controllermanager.go @@ -234,7 +234,8 @@ func Run(c *cloudcontrollerconfig.CompletedConfig, cloud cloudprovider.Interface run(ctx, initializers) }, OnStoppedLeading: func() { - klog.Fatalf("leaderelection lost") + klog.ErrorS(nil, "leaderelection lost") + klog.FlushAndExit(klog.ExitFlushTimeout, 1) }, }) @@ -253,7 +254,8 @@ func Run(c *cloudcontrollerconfig.CompletedConfig, cloud cloudprovider.Interface run(ctx, filterInitializers(controllerInitializers, leaderMigrator.FilterFunc, leadermigration.ControllerMigrated)) }, OnStoppedLeading: func() { - klog.Fatalf("migration leaderelection lost") + klog.ErrorS(nil, "migration leaderelection lost") + klog.FlushAndExit(klog.ExitFlushTimeout, 1) }, }) }