Label based geo-spread scheduling


I am wondering; How would it be possible to use labels and scheduling rules to accomplish the following:

We have 3 datacenters spread across the country. If I start a Rancher service with 3 containers I want to make sure every datacenter runs 1 at all time. (So I could also launch 6 or 9).

How do I use the scheduling rules and host labels to make sure this happens?

Lets say we have 3 hosts every one in a separate datacenter (labels: location=north, location=mid, location=south).



This doesn’t exist today, but we have an enhancement request in Github.