How to define a specialized node in docker orchestration

8/2/2017

I want to deploy a application split in Producer, FIFO and Consumer services. I have several Producer that push jobs in a Queue and Several Consumer that treat jobs. To simplify the deployment process, I would like to use a docker orchestration app (like Marathon/Mesos, Kubernetes or Docker swarm). My Consumer already run inside docker.

My issu was, Consumer need to run on computer/server with GPU and other on CPU only. Is it possible in a cluster to define specialise node that will run one kind of service ?

-- Erwan
docker-swarm
kubernetes
marathon

1 Answer

8/2/2017

Yes, especially with a more recent version (1.6+) of kubernetes, it has a very rich configuration for communicating how Pods should be assigned to Nodes. If your setup is very simple, then a nodeSelector will be effective enough and super easy to setup and explain to others.

If your needs are more complex, kubernetes will enable that, but it will take a bit more reading and testing; as will be the case if you need to keep other Pods off of the Nodes in question

I have also seen some GPU-specific annotations that magically show up on our EC2 Nodes, but I don't have the Node metadata in front of me to give you more specific examples

-- mdaniel
Source: StackOverflow