在DC/OS中运行
我们将部署一个响应“Hello world”的示例应用程序。我们将使用来自 linkerd-examples 仓库的 配置文件:
部署linkerd
使用以下命令安装 linkerd DC/OS Universe 软件包,注意 应与 DC/OS 集群中的节点总数相匹配,包括公共和私有:
$ dcos package install --options=<(echo '{"linkerd":{"instances":4}}') linkerd
请注意,linkerd 引导两个服务器,在端口4140
上传出
,并在4141
上传入
。您的应用程序对端口4140上的本地linkerd发出传出请求,linkerd将请求路由到在远程节点端口4141上的运行的单独的linkerd。远程节点上的linkerd接受传入请求并将其路由到本地应用程序实例。
Hello world
最后,要访问管理服务,请在端口 9990
上发出请求:
对于作为组的一部分部署的应用程序,将组/应用程序名称反转到域中。例如,my-group/webapp
成为 webapp.my-group
:
$ http_proxy=$PUBLIC_NODE:4140 curl webapp.my-group/hello
部署自定义的linkerd
dcos marathon app add https://raw.githubusercontent.com/linkerd/linkerd-examples/master/dcos/linker-to-linker/linkerd-dcos.json
此自定义版本在其命令中嵌入了一个linkerd配置文件,作为字符串编码的json,更可读的版本是 linkerd-examples 仓库中的 。
要修改linkerd配置,请执行以下操作:
- 编辑
linkerd-config.yml
- 使用类似 http://json2yaml.com 的东西转换为JSON
删除所有换行符和转义引号:
用输出内容替换
linkerd-dcos.json
中cmd
字段的内容。
linkerd-viz 是监控程序,用于通过linkerd进行路由的应用。部署为 DC/OS Universe 软件包:
或者,安装自定义版本:
就这样! 您现在有一个动态路由和监控的 DC/OS 集群。
linker-to-linker vs. simple-proxy 配置
上面的指南描述了在 linker-to-linker 模式下搭建集群,其中每个linkerd运行传入和传出服务器。这是在 linkerd DC/OS Universe 包中的默认配置,它提供必要的拓扑以支持 linkerd-viz。如果您对更简单的http代理配置感兴趣,请查看 linkerd-examples 库中的 简单代理 示例。
有关 linkerd-viz 的更多信息,请参阅 。