Since 1.24 (in
https://github.com/kubernetes/kubernetes/pull/106852), we only support configmapleases, endpointsleases, and leases. configmapleases and endpointsleases are combined resource locks to help migrate from configmaps → leases or endpoints → leases. Dropping support for those would strand consumers of the client-go leader election library currently using a pre-1.24 version with configmaps or endpoints that needed to upgrade to a current version.
We should lock the kubernetes components using leader election (kube-controller-manager, kube-scheduler, cloud-controller-manager, etc) to leases in 1.27. Since we know those components have been built with 1.24, 1.25, etc, we can safely lock them all to use leases at this point.