linkerd / linkerd-examples

Examples of how to configure and run linkerd
https://linkerd.io
Apache License 2.0
432 stars 221 forks source link

Tweak egress dtab #143

Closed adleong closed 7 years ago

adleong commented 7 years ago

A minor tweak to the egress dtab to make delegations more consistent and easy to understand.

The 3 /srv rules now correspond directly to the 3 delegation branches:

  1. The linkerd daemonset pod of the Kubernetes service, if it exists
  2. An external DNS service on the specified port
  3. An external DNS service on port 80 if no port specified
adleong commented 7 years ago

We like to avoid rules like /svc/world => /svc/world-v1 to help avoid loops and to make overrides more sane. This breaks the delegation into steps:

  1. /svc (the service name from the identifier)
  2. /srv (after applying versioning logic e.g. substituting world-v1)
  3. /#/io.l5d.k8s.ds or /ph
  4. /$/io.buoyant.rinet