The solution around this is 2 fold:
Either use a front end load balancer that sends to the swarm nodes OR Configure the swarm nodes with like KeepaliveD to have a virtual IP address, and then point your DNS to that.
I'm personally using the second one for the past 4 years very happily.
Would be interested in this . We're using netbox but is this like a plugin