A method for migrating from a first cluster to a second cluster, comprising: receiving , by one or more processors, requests to two or more cluster control planes, wherein the two or more cluster control planes include a control plane of the first cluster and a control plane of the second cluster, wherein the received requests include requests from a workload running in the first cluster, wherein the requests from the workload are intercepted by a sidecar container injected in the first cluster and routed to cluster bridging aggregators of the second cluster, wherein the sidecar container is configured to intercept application programming interface, API, calls from the workload and is configured to simulate a cluster bridging aggregator being absent in the first cluster, and wherein the cluster bridging aggregators are configured to route incoming requests, such as API calls from user applications and/or from workloads, to cluster control planes of both the first cluster and the second cluster, wherein the first cluster and the second cluster are operated on different clouds; allocating , by the one or more processors, a predetermined fraction of the received requests to the control plane of the second cluster, and a remaining fraction of the received requests to the control plane of the first cluster; handling , by the one or more processors, the predetermined fraction of requests using the control plane of the second cluster; detecting , by the one or more processors, whether there are failures in the second cluster while handling the predetermined fraction of requests; and increasing , by the one or more processors, based on not detecting failures in the second cluster, the predetermined fraction of requests allocated to the control plane of the second cluster in predetermined stages until all received requests are allocated to the control plane of the second cluster. receiving , by one or more processors, requests to two or more cluster control planes, wherein the two or more cluster control planes include a control plane of the first cluster and a control plane of the second cluster, wherein the received requests include requests from a workload running in the first cluster, wherein the requests from the workload are intercepted by a sidecar container injected in the first cluster and routed to cluster bridging aggregators of the second cluster, wherein the sidecar container is configured to intercept application programming interface, API, calls from the workload and is configured to simulate a cluster bridging aggregator being absent in the first cluster, and wherein the cluster bridging aggregators are configured to route incoming requests, such as API calls from user applications and/or from workloads, to cluster control planes of both the first cluster and the second cluster, wherein the first cluster and the second cluster are operated on different clouds; allocating , by the one or more processors, a predetermined fraction of the received requests to the control plane of the second cluster, and a remaining fraction of the received requests to the control plane of the first cluster; handling , by the one or more processors, the predetermined fraction of requests using the control plane of the second cluster; detecting , by the one or more processors, whether there are failures in the second cluster while handling the predetermined fraction of requests; and increasing , by the one or more processors, based on not detecting failures in the second cluster, the predetermined fraction of requests allocated to the control plane of the second cluster in predetermined stages until all received requests are allocated to the control plane of the second cluster. <EOS>