《Linkerd官方文档》在本地运行Linkerd

本地运行

本指南将引导您完成本地下载和运行Linkerd所需的步骤。

为了在本地运行Linkerd,您必须安装Java 8。您可以运行以下命令来检查您的Java版本:

$ java -version
java version "1.8.0_66"

Linkerd可与Oracle和OpenJDK兼容。如果您需要安装Java 8,则可以下载其中一个。

下载Oracle Java 8 下载OpenJDK 8

下载和安装

首先,下载最新的Linkerd二进制版本。

下载Linkerd

一旦你下载了发行版,解压缩它:

$ tar -xzf linkerd-1.3.6.tgz
$ cd linkerd-1.3.6

该版本将包含这些文件:

  • config/linkerd.yaml – 定义路由器,服务器,协议和端口的配置文件
  • disco/ – 基于文件的服务发现配置
  • docs/ – 文件
  • linkerd-1.3.6-exec – Linkerd可执行文件
  • logs/ – 写入Linkerd日志的默认位置

运行

一旦你提取了发行版,你可以通过使用linkerd-1.3.6-exec来启动和停止Linkerd。

要启动Linkerd,请运行:

$ ./linkerd-1.3.6-exec config/linkerd.yaml

确保它在工作

您可以通过发送一些HTTP流量来验证Linkerd的工作原理。开箱即用,Linkerd被配置为监听端口4140,并且将任何Host头的设置为“web”的HTTP调用路由到监听端口9999的服务。

您可以通过在端口9999上运行一个简单的服务来测试:

$ echo 'It works!' > index.html
$ python -m SimpleHTTPServer 9999

这将是我们的目标服务器,并将以友好的响应来响应任何HTTP请求。我们可以通过连接到Linkerd并指定适当的主机头来将流量发送到此目标:

$ curl -H "Host: web" http://localhost:4140/
It works!

由于我们要求Linkerd代理“web”主机,因此我们的请求将通过端口9999路由到服务器,并将响应代理到客户端。这有用!

请注意,如果您没有提供与其中一个可路由服务的名称匹配的主机头,则Linkerd将请求失败:

$ curl -I -H "Host: foo" http://localhost:4140/
HTTP/1.1 502 Bad Gateway

当然,命名服务还有比这更多的方面!在下一节中,我们将看到上面使用的服务信息在哪里指定。

基于文件的服务发现

在Linkerd提供的配置下,它需要解析服务端点时的第一个位置是disco/目录。(有关此简单基于文件的服务发现系统如何工作的更多信息,请参阅配置指南。)通过此配置,Linkerd将查找名称与目标的具体名称相对应的文件,并且它期望这些文件包含换行符分隔符在host port表格中的地址列表。

默认配置如下所示:

$ head disco/*
==> disco/thrift-buffered <==
127.0.0.1 9997

==> disco/thrift-framed <==
127.0.0.1 9998

==> disco/web <==
127.0.0.1 9999

正如你所看到的,有一个称为“web”的目的地由一个地址127.0.0.1 9999 来支持,以及一个由127.0.0.1 9998支持的thrift框架目标和一个由127.0.0.1 9997支持的thrift缓冲目标 。请注意,就像它与所有服务发现端点一样,Linkerd会监视此目录以进行更改,因此可以随时添加,删除和编辑文件 – 无需重新启动。

Linkerd附带的路由配置非常简单,并直接路由到此目录中指定的具体名称。换句话说,向Linkerd询问“web”服务,就像我们上面所做的那样,将导致它连接到disco/web文件中的一个端点。

此路由配置适用于演示基本功能,但Linkerd具有更多功能,包括多个服务发现端点,每个请求路由规则,调试代理注入,服务故障转移等。有关Linkerd路由功能的详细信息,请参阅路由页面。

原创文章,转载请注明: 转载自并发编程网 – ifeve.com本文链接地址: 《Linkerd官方文档》在本地运行Linkerd

萍韵众生

萍韵众生

一个相信技术改变世界的coder
萍韵众生
FavoriteLoading添加本文到我的收藏
  • Trackback are closed
  • Comments (0)
  1. No comments yet.

You must be logged in to post a comment.

return top