<p>I'am very new to linkerd in Kubernetes, and I don't feel very comfortable with dtab and routing.</p>

<p>I followed this quite easy "getting started guide" step by step : <a href="https://blog.buoyant.io/2016/10/04/a-service-mesh-for-kubernetes-part-i-top-line-service-metrics/" rel="nofollow noreferrer">https://blog.buoyant.io/2016/10/04/a-service-mesh-for-kubernetes-part-i-top-line-service-metrics/</a></p>

<p>Everything works fine, but it does not give deep explanations on how the whole thing is working.</p>

<p>So, I have these "incoming" rules :</p>

<p><code>
/srv=&gt;/#/io.l5d.k8s/default/http;
/host=&gt;/srv;
/svc=&gt;/host;
/host/world=&gt;/srv/world-v1
</code></p>

<p>In the tutorial, to test that it works, I need to make this curl request :</p>

<p><code>
$ http_proxy=$INGRESS_LB:4140 curl -s http://hello
</code></p>

<p>.. and it works! But I don't really know how my <code>http://hello</code> became a <code>/svc/hello</code> ... how and where this magic happened?</p>

<p>I see that the "default" namespace is "hardcoded" in <code>/#/io.l5d.k8s/default/http</code>, so I suppose that I cannot reach a service located in another namespace. How can I udpate the rules to do such a thing?</p>

<p>Thank you to help me progress with linkerd ^^</p>

Fred Mériot
<p><a href="https://linkerd.io/1/advanced/routing/" rel="nofollow noreferrer">Here</a> you can find documentation about how <code>http://hello</code> becomes <code>/svc/hello</code></p>

<p>Regarding accessing a service in a different namespace you can use something like <code>http://service.namespace</code> then have some dtabs so they eventually use the kubernetes service discovery namer <code>io.l5d.k8s</code> using the right namespace and service name. See <a href="https://github.com/linkerd/linkerd/blob/master/linkerd/docs/namer.md" rel="nofollow noreferrer">this</a> for more informaiton</p>
