Web node HA setup


#1

Hello!

I’ve just setup two ATCs in HA by simply starting two with identical settings but the --peer-url and --tsa-peer-ip and using a single DNS entry with two assigned IP addresses for the workers to use and an nginx as load-balancer for the web UI only.

The few short tests I’ve done so far seems to indicate that everything works fine. However, a colleague pointed me to the topology page (https://concourse-ci.org/topology.html#web-node) that says:

Highly available: yes; web nodes can all be configured the same (aside from --peer-url ) and placed behind a load balancer.

Which would imply that a load balancer is mandatory. But the install page contradict this (https://concourse-ci.org/install.html#running-web-nodes):

The web node can be scaled up for high availability, and they’ll also roughly share their scheduling workloads, using the database to synchronize. This is done by just running more web commands on different machines, and optionally putting them behind a load balancer.

So, my questions are:

  • Do I need to connect the workers to the ATCs through a load balancer or not?
  • What’s the purpose of the --tsa-peer-ip? It’s mentioned nowhere in the docs. Can I safely ignore it?

Cheers,

Olivier


#2

Do I need to connect the workers to the ATCs through a load balancer or not?

A load balancer just forwards the requests to a backend node, so assuming you can address any of the nodes the same (e.g. your external url will resolve to one of the nodes), then as long as a node receives the request, it should work. Don’t quote me though, I haven’t tried it myself.

What’s the purpose of the --tsa-peer-ip ? It’s mentioned nowhere in the docs. Can I safely ignore it?

I also would like more info on this. I suspect it’s due to the ability to run the tsa separately from the atc, and they used to have documentation on how to do it, but I can’t find it anymore or they no longer recommend it.

It would be interesting to hear from someone official on if it’s worth or needed to run HA TSAs in addition to the ATCs, or if it’s production-grade to just leave atc/tsa on the same box.