Procedure to set up linkerd as a reverse proxy to TCP servers running HA mode in Mesos/Marathon

Could some one help me in setting up linkerd-tcp as a reverse proxy for my TCP servers running HA mode in Mesos/marathon?

I have tried the following;

  1. Built linker-tcp out of sources from GitHub.
  2. Downloaded namerd-bin from GitHub.
  3. Configs are;

Linkerd-Tcp config

admin:
addr: 0.0.0.0:9992
metricsIntervalSecs: 10
proxies:

  • label: default
    servers:
    • kind: io.l5d.tcp
      addr: 0.0.0.0:4141
      namerd:
      url: http://127.0.0.1:4180
      path: /svc
      namespace: marathon
      intervalSecs: 5

Namerd config

admin:
port: 9991
storage:
kind: io.l5d.inMemory
namespaces:
marathon: |
/request => /#/io.l5d.marathon;
/svc => /request;
namers:

  • kind: io.l5d.marathon
    host: marathon.mesos
    port: 8080

But I am unable to discover services successfully. Any sort of help is much appreciated.

Thanks in advance,
Bethleharaja G.

1 Like

Hi @bethleha!

In order to use namerd, you need to specify what interfaces it should expose. In particular linkerd-tcp uses the thriftNameInterpreter. See https://github.com/linkerd/linkerd-examples/blob/master/linkerd-tcp/namerd.yml for an example.

(p.s. It’s a little hard to read your configs since indentation matters in yaml. Next time consider using the preformatted text option.)