在DC/OS中运行

    我们将部署一个响应“Hello world”的示例应用程序。我们将使用来自 linkerd-examples 仓库的 配置文件:

    部署linkerd

    使用以下命令安装 linkerd DC/OS Universe 软件包,注意 应与 DC/OS 集群中的节点总数相匹配,包括公共和私有:

    1. $ dcos package install --options=<(echo '{"linkerd":{"instances":4}}') linkerd

    请注意,linkerd 引导两个服务器,在端口4140传出,并在4141传入。您的应用程序对端口4140上的本地linkerd发出传出请求,linkerd将请求路由到在远程节点端口4141上的运行的单独的linkerd。远程节点上的linkerd接受传入请求并将其路由到本地应用程序实例。

    1. Hello world

    最后,要访问管理服务,请在端口 9990 上发出请求:

    对于作为组的一部分部署的应用程序,将组/应用程序名称反转到域中。例如,my-group/webapp 成为 webapp.my-group

    1. $ http_proxy=$PUBLIC_NODE:4140 curl webapp.my-group/hello

    部署自定义的linkerd

    1. dcos marathon app add https://raw.githubusercontent.com/linkerd/linkerd-examples/master/dcos/linker-to-linker/linkerd-dcos.json

    此自定义版本在其命令中嵌入了一个linkerd配置文件,作为字符串编码的json,更可读的版本是 linkerd-examples 仓库中的 。

    要修改linkerd配置,请执行以下操作:

    1. 编辑 linkerd-config.yml
    2. 使用类似 http://json2yaml.com 的东西转换为JSON
    3. 删除所有换行符和转义引号:

    4. 用输出内容替换 linkerd-dcos.jsoncmd 字段的内容。

    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 的更多信息,请参阅 。