gardener/machine-controller-manager

Move away from custom autoscaler fork for MCM Provider to gRPC pluggable provider

elankath opened this issue · 0 comments

How to categorize this issue?

/area control-plane
/area auto-scaling
/kind enhancement
/priority 3

What would you like to be added:
Today the gardener MCM team manages a custom fork of k8s cluster autoscaler that includes code which implements the cloudprovider.CloudProvider interface. This involves regular maintenance, resolving merge conflicts, associated testing, management of custom images etc.

However, the autoscaler has in the last year provided a mechanism to inject custom providers via gRPC obviating the need for separate fork maintenance. This is described here: Pluggable gRPC provider mechanism and the calling gRPC client is present here: External gRPC Client

The enhancement request is to implement our MCM controller as an external gRPC cloud provider, remove our custom autoscaler image and leverage the standard autoscaler image with all associated and necessary changes in testing/deployment/rollout.

Why is this needed:

  • MCM no longer will need to fork the CA repository and regular merge.
  • autoscaler image can be taken un-changed.
  • Addresses the concerns mentioned in:

This has also been mentioned as an issue in our autoscaler fork: gardener/autoscaler#172