linkerd, kubernetes and dtab

6/14/2018

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 ^^

-- Fred Mériot
kubernetes
linkerd
routing

1 Answer

4/9/2019

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

-- yeforriak
Source: StackOverflow