kubernetes-sigs / cluster-api-provider-ibmcloud

Cluster API Provider for IBM Cloud
https://cluster-api-ibmcloud.sigs.k8s.io
Apache License 2.0
62 stars 79 forks source link

Support local routing in transit gateway when PowerVS and VPC are from same region #1763

Closed dharaneeshvrd closed 4 months ago

dharaneeshvrd commented 5 months ago

/kind feature /area provider/ibmcloud

Describe the solution you'd like [A clear and concise description of what you want to happen.]

Currently global routing is enabled by default, would like to enable local routing when PowerVS and VPC are from same region. This will reduce some $$$

Anything else you would like to add: [Miscellaneous information that will assist in solving the issue.]

mkumatag commented 5 months ago

what's the different amount for these settings?

Currently global routing is enabled by default, would like to enable local routing when PowerVS and VPC are from same region. This will reduce some $$$

mkumatag commented 5 months ago

Need to add an additional flag to this spec here like routing - global/local https://github.com/kubernetes-sigs/cluster-api-provider-ibmcloud/blob/e35abc566042b99a881b4862fedd8566c5f569ea/api/v1beta2/ibmpowervscluster_types.go#L253

dharaneeshvrd commented 5 months ago

Still need to investigate that, will run two transit gateways with local and global routing for a couple of days and come back with the cost here!

dharaneeshvrd commented 5 months ago

Just created this issue as a placeholder, in case if we are fixing it in hypershift, we can fix here too.

prb112 commented 5 months ago

Hey @dharaneeshvrd FYI, you can model it based on the cost estimator. https://www.ibm.com/cloud/cloud-calculator Thanks, Paul

dharaneeshvrd commented 5 months ago

Thanks @prb112 for the link!

Seems global routing costs double than the local routing for data transfer per GB. So it's better to use local routing in possible situations.

Other thing I found is that reusing transit gateway also could save some dollars, it costs separately whenever we create and establish new a connection. If we can reuse the existing transit gateways with the combination of PowerVS and VPC that would save some $ as well. This would help in avoid creating multiple TGs during development phases.

dharaneeshvrd commented 5 months ago

/assign

Karthik-K-N commented 5 months ago

I think if user provided PowerVS zone and vpc.Region are within same region we can by default go for local routing and introduce a new field in api to allow user to configure it to use global.

mkumatag commented 5 months ago

This needs:

@Karthik-K-N @dharaneeshvrd feel free to add If I'm missing something

dharaneeshvrd commented 4 months ago

Do we really need a param to set the route? Not sure in which case user needs it, can't we just decide local or global based on the powervs and vpc region? What's the point in setting global routing even in cases where it only needs local routing? @mkumatag @Karthik-K-N Please let me know is this making sense!

mkumatag commented 4 months ago

Do we really need a param to set the route? Not sure in which case user needs it, can't we just decide local or global based on the powervs and vpc region? What's the point in setting global routing even in cases where it only needs local routing? @mkumatag @Karthik-K-N Please let me know is this making sense!

Its always good to give option for user to override, they can set it explicitly for any specific scenario.