diff --git a/pkg/manager/internal.go b/pkg/manager/internal.go index 45803ef32f..652ba3080f 100644 --- a/pkg/manager/internal.go +++ b/pkg/manager/internal.go @@ -361,7 +361,16 @@ func (cm *controllerManager) startLeaderElection() (err error) { return err } + ctx, cancel := context.WithCancel(context.Background()) + go func() { + select { + case <-cm.internalStop: + cancel() + case <-ctx.Done(): + } + }() + // Start the leader elector process - go l.Run(context.Background()) + go l.Run(ctx) return nil }