gardener / machine-controller-manager

Declarative way of managing machines for Kubernetes cluster
Apache License 2.0
253 stars 116 forks source link

Provide a way to initialize out-of-tree providers #513

Open zuzzas opened 3 years ago

zuzzas commented 3 years ago

What would you like to be added:

I'd like to have a special gRPC method that is called exactly once on the start-up of MCM and subsequent initialization of out-of-tree providers.

Here's how the Cloud Provider Interface approaches this: https://github.com/kubernetes/cloud-provider/blob/master/cloud.go#L44-L47

Why is this needed:

For example, while using an in-house in-tree vSphere plugin, we've hit a limit on simultaneous login attempts. An Active Directory server was under a lot of duress before I've implemented persistent session storage.

Here's how I've hacked around this problem to enable persistent sessions:

Basically, we add or get a session from a map. Ugly, but works.

elankath commented 1 year ago

There is no gRPC comm between MCM and MC controller. We are not very clear on the requirement. Considering that driver implementations are now initialized in provider specific code in out-of-tree repos - this is now already in control of the provider. So it is not clear what we should do now inside the MCM. Request re-clarification from @zuzzas