开发者社区> 问答> 正文

Swarm mode 集群中服务发现和负载均衡的路由与负载均衡

反向一觉 2017-10-30 15:56:03 1267

swarm 集群支持 7 层(aliyun.routing)和 4 层(aliyun.lb)路由,swarm mode 集群也支持这两种模式,且语法不变,如下面的编排模板所示。
  1. [backcolor=transparent]version[backcolor=transparent]:[backcolor=transparent] [backcolor=transparent]"3"
  2. [backcolor=transparent]services[backcolor=transparent]:
  3. [backcolor=transparent]    nginx[backcolor=transparent]:
  4. [backcolor=transparent]      image[backcolor=transparent]:[backcolor=transparent] nginx[backcolor=transparent]:[backcolor=transparent]latest
  5. [backcolor=transparent]      ports[backcolor=transparent]:
  6. [backcolor=transparent]        [backcolor=transparent]-[backcolor=transparent] [backcolor=transparent]80
  7. [backcolor=transparent]      deploy[backcolor=transparent]:
  8. [backcolor=transparent]        mode[backcolor=transparent]:[backcolor=transparent] replicated
  9. [backcolor=transparent]        replicas[backcolor=transparent]:[backcolor=transparent] [backcolor=transparent]1
  10. [backcolor=transparent]      labels[backcolor=transparent]:
  11. [backcolor=transparent]        aliyun[backcolor=transparent].[backcolor=transparent]routing[backcolor=transparent].[backcolor=transparent]port_80[backcolor=transparent]:[backcolor=transparent] web
  12. [backcolor=transparent]        aliyun[backcolor=transparent].[backcolor=transparent]lb[backcolor=transparent].[backcolor=transparent]port_80[backcolor=transparent]:[backcolor=transparent] tcp[backcolor=transparent]:[backcolor=transparent]//slbtest:8080

  • aliyun.routing.port_80: web:将 web 子域转发到 nginx 服务的 80 端口。这种模式下,不需要暴露容器端口到主机,即如果只用这种方式,上面模板中的 ports 一节可以省略。

  • aliyun.lb.port_80: tcp://slbtest:8080:将 slbtest 这个负载均衡实例的 8080 端口绑定到 nginx 服务的 80 端口。老的 swarm 集群要求用户手工将 slbtest 的后端绑定一个端口,但 swarm mode 中不需要,容器服务会自动根据用户暴露的端口,自动修改负载均衡的后端。另外,swarm mode 中,同一集群的不同服务可以共享同一个负载均衡。
负载均衡 网络协议 应用服务中间件 nginx 容器
分享到
取消 提交回答
全部回答(0)

集结各类场景实战经验,助你开发运维畅行无忧

推荐文章
相似问题
推荐课程