《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路由功能的详细信息,请参阅路由页面。
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/93962.html
jd相关文章
- Elasticsearch 为什么会产生文档版本冲突?如何避免?
- 推荐! powerNice Web版+桌面端软件,让文档编辑更简单
- Boost.Lockfree官方文档[通俗易懂]
- zimbra搭建文档 centos7
- spring官方文档 中文_Spring软件
- QCustomPlot 官方文档学习1
- 用ChatGPT做生信?只不过是帮助懒人查官方文档
- MongoDB :第五章:MongoDB 插入更新删除查询文档
- VUE官方文档讲解
- 一个困扰许久的Word嵌入文档问题(求助)
- adb 官方文档介绍
- Discuz! Q官方文档Windows下提示 CA 根证书库错误如何解决?
- 【Android Gradle 插件】将自定义 Gradle 插件上传到自建 Maven 仓库 ③ ( 配置上传工件 | 将 Gradle 插件 jar 包、源码、文档上传到本地Maven 仓库 )
- 如何转换pdf文档为word文档–先标记下,本周把这个问题知识掌握详解编程语言
- Oracle实施指南:解决实际问题的技术文档(oracle实施文档)
- 《Python3.6官方文档》– 第二章 使用python解释器
- 《JDK10新特性官方文档》在可选内存设备上的分配堆内存
- MySQL官方文档:超越限制,达到无线极限(mysql官方文档)
- Oracle 12文档一步一步解读官方说明(oracle12官方文档)
- 《Thrift官方文档》Thrift 网络栈
- 《Istio官方文档》Eureka-安装
- 探讨:如何使用PhpDocumentor生成文档