traefik / mesh

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

Do not create a shadow service for NodePort and LoadBalancer services #761

Closed kevinpollet closed 3 years ago

kevinpollet commented 3 years ago

Feature Request

Proposal

Currently, Traefik Mesh will create a shadow service for every services created in a Kubernetes cluster. As described in the documentation, a Kubernetes service can have different types: NodePort, LoadBalancer, ClusterIP and ExternalName.

As Traefik Mesh is running as a daemon set, it is impossible to intercept the traffic coming through a service of type NodePort and LoadBalancer. Those services should be ignored and the corresponding shadow services should not be created.

kevinpollet commented 3 years ago

After some investigations, NodePort and LoadBalancer services are callable externally through the allocated nodePort, but they are also callable internally through a ClusterIP assigned automatically (more details in the documentation).

As those services are callable internally, they should be callable through Traefik Mesh which requires the creation of the corresponding shadow services.