Schedulers
Tsuru uses schedulers to chooses which node an unit should be deployed. There are two schedulers: round robin and segregate scheduler.
Segregate scheduler
Segregate scheduler is a scheduler that segregates the units between nodes by team.
irst, what you need to do is to define a relation between nodes and teams. And then, the scheduler deploys the app unit on the node related to its team.
team1 -> node1
team2 -> node3
others -> fallback (node4)
Configuration and setup
To use the segregate scheduler you shoud enable the segregate mode in tsuru.conf and make sure that the details about the scheduler storage (redis) is also configured:
docker:
segregate: true
scheduler:
redis-server: 127.0.0.1:6379
redis-prefix: docker-cluster
Adding a node
You can use the tsr to add nodes:
$ tsr docker-add-node someid http://localhost:4243 myteam
Adding a fallback node
To add a fallback, you just need to add a node without team:
$ tsr docker-add-node someid http://localhost:4243
Removing a node
You can use the tsr to remove nodes:
$ tsr docker-rm-node xxx
Node successfully removed.
List nodes
Just use docker-list-nodes to list nodes:
$ tsr docker-list-nodes
+------+-----------------------+------------------+
| ID | Address | Team |
+------+-----------------------+------------------+
| fall | http://localhost:4243 | |
| xpto | http://localhost:4243 | xpto |
+------+-----------------------+------------------+