argoproj / argo-rollouts

Progressive Delivery for Kubernetes
https://argo-rollouts.readthedocs.io/
Apache License 2.0
2.68k stars 840 forks source link

Centralized Rollout for multi-cluster environments #2737

Open edubonifs opened 1 year ago

edubonifs commented 1 year ago

Summary

I think it could be really good if we could create a centralized rollout that would be deployed in several workload clusters.

Use Cases

At this moment, if we want to schedule a rollout in multiple clusters at the same time, in a multi-cluster environment, we only have the possibility of creating a different rollout object for each remote cluster and promote them one by one.

It would be really would to have a centralized rollout which would be deployed to remote clusters, and when you promote this centralized rollout, all workload rollouts would promote at the same time.

This would cover a lot of use cases of Istio community willing to deploy canary deployment in a multi-cluster environment.

All rollouts would be configured the same and will take prometheus metrics from the same source of truth, so it will be a way of deploying new versions of the application at the same time based on prometheus queries.

Message from the maintainers:

Impacted by this bug? Give it a 👍. We prioritize the issues with the most 👍.

edubonifs commented 1 year ago

This would also solve already open issues as this one: https://github.com/argoproj/argo-rollouts/issues/2088

zachaller commented 1 year ago

I think a syncing step plugin would be the way to implement this.

github-actions[bot] commented 1 year ago

This issue is stale because it has been open 60 days with no activity.

tinkerborg commented 5 months ago

This type of functionality can be achieved using something like Karmada (I am not affiliated with the project, I'm just someone looking to solve the same problem). Some interesting viewing here.