如何将linkerd用作到另一个服务/ IP的路由器

时间:2019-07-15 17:33:38

标签: docker linkerd

我试图将Linkerd用作运行在相同/不同IP上但在另一个端口上的另一个服务的路由器。 HTTP请求--->在4142上监听Linkerd ------>在4041上监听服务

我在配置文件的dtab部分尝试了多种组合,但没有一个奏效。

链接的配置文件

routers:
- protocol: http
  dtab: /svc => /$/inet/127.1/9990;
  servers:
  - port: 8080
    ip: 0.0.0.0
    maxConcurrentRequests: 250
  identifier:
    kind: io.l5d.header
    header: google
- protocol: http
  label: test-http
  dtab: |
    /svc => /#/127.0.0.1/4041;
  servers:
  - port: 4142
    ip: 0.0.0.0

我得到:

Unable to route request!

service name: /svc/localhost:4142
dtab:

base dtab:
  /svc => /127.0.0.1/4041
override dtab:

1 个答案:

答案 0 :(得分:0)

如果要在dtab中使用静态地址,则必须指定“ inet”命名器:

routers:
- protocol: http
  label: test-http
  dtab: |
    /svc => /$/inet/127.0.0.1/4041;
  servers:
  - port: 4142
    ip: 0.0.0.0

有关如何使用dtab的更多信息,请参见here