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 ?
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