When putting many nodes into maintenance, it takes a while until all CRs are processed. Possible solution would be to reduce time spent in each reconcile, by running the drain process async. That way we can process CRs concurrently, - without running multiple threads, which increases complexity on a less predictable level IMHO (see https://github.com/medik8s/node-maintenance-operator/pull/151) - without needing configurable timeouts (see https://github.com/medik8s/node-maintenance-operator/pull/152) - by following best practices (do not run long running tasks in the reconciler)
When putting many nodes into maintenance, it takes a while until all CRs are processed.
Possible solution would be to reduce time spent in each reconcile, by running the drain process async.
That way we can process CRs concurrently,