[sig-cloud-provider] Hybrid cloud native support. #124885
Labels
kind/feature
Categorizes issue or PR as related to a new feature.
sig/cloud-provider
Categorizes an issue or PR as relevant to SIG Cloud Provider.
triage/accepted
Indicates an issue or PR is ready to be actively worked on.
What would you like to be added?
CLI global flag
--hybrid-cloud=true
Why is this needed?
It's possible to run multiple CCMs in one cluster, but it requires a deep understanding of how the cloud provider works. In some cases, we need to add a few checks or extra logic on the CCM side.
The
node-controller
functions properly; only one CCM can find and initialize the node, while others skip it with an error or log message.With the node-lifecycle-controller, we need to incorporate more checks into each CCM because we cannot determine if an instance exists or not. For instance, Azure-CCM always responds that the instance exists and is not switched off if the ProviderID is not Azure. The CCM responsible for this cloud can make the correct decision. I believe these checks are better made on the cloud provider side.
When a CCM starts, it registers the name of the cloud using 'cloudprovider.RegisterCloudProvider'. This name usually exists in the ProviderID
cloud-provider-name://
. For example, we can add the CLI global flag--hybrid-cloud=true
, which will use this name fromRegisterCloudProvider
to check the prefix in the ProviderID. If it does not match, the functionsInstanceExists
andInstanceShutdown
will not be called./sig cloud-provider
The text was updated successfully, but these errors were encountered: