I'am very new to linkerd in Kubernetes, and I don't feel very comfortable with dtab and routing.
I followed this quite easy "getting started guide" step by step : https://blog.buoyant.io/2016/10/04/a-service-mesh-for-kubernetes-part-i-top-line-service-metrics/
Everything works fine, but it does not give deep explanations on how the whole thing is working.
So, I have these "incoming" rules :
/srv=>/#/io.l5d.k8s/default/http; /host=>/srv; /svc=>/host; /host/world=>/srv/world-v1
In the tutorial, to test that it works, I need to make this curl request :
$ http_proxy=$INGRESS_LB:4140 curl -s http://hello
.. and it works! But I don't really know how my http://hello
became a /svc/hello
... how and where this magic happened?
I see that the "default" namespace is "hardcoded" in /#/io.l5d.k8s/default/http
, so I suppose that I cannot reach a service located in another namespace. How can I udpate the rules to do such a thing?
Thank you to help me progress with linkerd ^^
Here you can find documentation about how http://hello
becomes /svc/hello
Regarding accessing a service in a different namespace you can use something like http://service.namespace
then have some dtabs so they eventually use the kubernetes service discovery namer io.l5d.k8s
using the right namespace and service name. See this for more informaiton