When One Docker Swarm Replica Became Unreachable Over an Overlay Network: A Production Case With Traefik
Context
The incident occurred in the production backend infrastructure of a mobile application. External HTTP traffic was handled by Traefik, deployed on Docker Swarm manager nodes. Traefik ran in swarmMode, used providers.docker, was configured to use the mgp_default network, and had lbswarm disabled so that routing used the required overlay network rather than the Swarm VIP.
One of the critical services was mgp_router-app. It was an entry-point service with two replicas deployed to preserve availability if one of them failed.
Visit Advertiser websiteGO TO PAGE
The service used placement constraints, max replicas per node = 1, and a Traefik health check configured for /actuator/health on port 8080. This meant we relied on external health checking and strictly controlled replica placement across nodes.
Swarm-level load balancingwas intentionally disabled. We needed routing control at the Traefik layer, along with the ability to quickly remove unhealthy backends based on their health...
Copyright of this story solely belongs to dzone.com. To see the full text click HERE