We’re currently investigating the use of DNS for service discovery to simplify our configurations and the process by which we add and remove dynamic services as HAProxy backends. We’re testing with 1.8.8 and have experienced several issues:
-
It took a bit of time to figure out that we needed to use
server-template
instead ofserver
to get HAProxy to include all of the hosts returned from DNS rather than using one. This seems to be a documentation issue more than anything else. -
Given the use of
server-template
to leverage dynamic service discovery via DNS, it seems somewhat counter-intuitive and limiting to require that we define ahead of time a maximum number of backends for the template. Using a number somewhat indicative of our production requirements (500) also seems to have a severe impact on the time it takes to restart HAProxy. -
Perhaps the biggest issue for us - there does not seem to be any way to determine if a specific host is included in the set of servers for a particular backend. They’re all similarly named with a numeric prefix. Is there any way to get a list of name to IP mappings or similar?
Any help on these points are greatly appreciated!