在DC / OS中运行
本指南将引导您获得在DC / OS中运行的Linkerd,将请求路由到示例Web服务以及监视集群。
部署webapp
我们将部署一个以“Hello world”为响应的示例应用程序。我们将使用linkerd-examples repo中的 webapp.json 配置文件:
dcos marathon app add https://raw.githubusercontent.com/linkerd/linkerd-examples/master/dcos/webapp.json
部署Linkerd
使用以下命令安装Linkerd DC / OS Universe软件包,注意 instances
应该与DC / OS集群中公共和私有节点的总数相匹配:
$ dcos package install --options=<(echo '{"linkerd":{"instances":4}}') linkerd
需要注意的是Linkerd启动两台服务器,4140
端口上的outgoing
,和4141
端口上的incoming
。您的应用程序向端口4140上的本地Linkerd发出传出请求,端口4140将请求路由到在端口4141上的远程节点上运行的独立Linkerd进程。远程节点上的Linkerd接受传入请求并将其路由到本地应用程序实例。
确保它的工作
Linkerd DC / OS Universe包预先配置为将流量作为HTTP代理进行路由。默认情况下,它接受来自应用程序4140端口上的所有流量。几乎所有的http工具和客户端库都支持这一点。curl
检查一个http_proxy
环境变量:
$ http_proxy=$PUBLIC_NODE:4140 curl -s http://webapp/hello
Hello world
最后,要访问管理服务,请在9990
端口上发出请求:
$ curl $PUBLIC_NODE:9990/admin/ping
pong
应用程序组
对于作为组的一部分部署的应用程序,请将组/应用程序名称反转到域中。例如,my-group/webapp
变成webapp.my-group
:
$ http_proxy=$PUBLIC_NODE:4140 curl webapp.my-group/hello
Hello world
部署一个自定义的Linkerd
您也可以安装您自己的Linkerd自定义版本,例如:
dcos marathon app add https://raw.githubusercontent.com/linkerd/linkerd-examples/master/dcos/linker-to-linker/linkerd-dcos.json
此自定义版本具有嵌入在其命令串编码JSON的一个Linkerd配置文件,一个更人类可读的版本是在 linkerd-examples repo中作为 linkerd-config.yml。
要修改Linkerd配置,请执行以下操作:
部署linkerd-viz
linkerd-viz是通过Linkerd进行应用程序路由的监控应用程序。作为DC / OS Universe软件包部署:
dcos package install linkerd-viz
查看仪表板:
open $(dcos config show core.dcos_url)/service/linkerd-viz
或者,安装一个自定义版本:
dcos marathon app add https://raw.githubusercontent.com/linkerd/linkerd-viz/master/dcos/linkerd-viz.json
open $PUBLIC_NODE:3000
您现在拥有一个动态路由和受监视的DC / OS群集。
linker-to-linker与简单代理配置
上述指南描述了在linker-to-linker模式下设置集群,其中每个Linkerd运行一个incoming
服务器和一个outgoing
服务器。这是Linkerd DC / OS Universe软件包中的默认配置,它提供了必要的拓扑结构来支持linkerd-viz
。如果您对更简单的http代理配置感兴趣,请查看 linkerd-examples repo中的 简单代理示例。
进一步阅读
有关配置Linkerd的更多信息,请参阅 Linkerd配置页面。
有关linkerd-viz的更多信息,请参阅 linkerd-viz GitHub repo。
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/93956.html