I have some simple software which I need to distribute on about 20 physical servers. I'm planning on using Ansible+Docker for provisioning the servers. These tools does not quite cover my needs though; I need the software to be running at all times. If a box is out for any reason, another node needs to spawn a new instance. This is pretty much what any of the orchestration tools offers, but I also have some network constraints:
Is Kubernetes the right fit for this system?
Also, does the system work without the Kubernetes master? Can the master be redundant as well?