traefik / mesh

Traefik Mesh - Simpler Service Mesh
https://traefik.io/traefik-mesh
Apache License 2.0
2.04k stars 141 forks source link

Support for Docker Swarm #249

Open till opened 5 years ago

till commented 5 years ago

Proposal

I'd like to use Maesh on Docker Swarm.

Background

Been shopping around for a service mesh for Docker Swarm for long. We've tried linkerd and related, but e.g. Swarm support is not officially there. To get it working, it requires more components (like consul) to register services with the mesh to be able to use it. It doesn't use the Swarm APIs (like Traefik).

With the advent of all kinds of protocols in Traefik 2, I was hoping this was more likely to be implemented.

Workarounds

I have a work-around for HTTP only services (with Traefik 1.0) responding to "internal domains", and then routing requests accordingly. This is, not because Docker Swarm doesn't work, but to have more visibility into our setups. It's all hacky, and less than ideal.

Details on how I did this are here: https://docs.docker.com/network/overlay/#bypass-the-routing-mesh-for-a-swarm-service

chenjpu commented 5 years ago

I also want to support nomad.

WTFKr0 commented 5 years ago

Hello

Found that issue looking for a mesh experience on docker swarm I think it's complicated for now, because maesh add a wildcard dns trick on coreDNS for k8s. If we want to implement that in swarm, we have to deploy a DNS-like service and tell the containers to resolv on that