【转】Rancher部署Træfik实现微服务的快速发现

Rancher部署Træfik实现微服务的快速发现

原文链接:http://dwz.cn/6rhDAz 

  2017-08-28  洪晓露  RancherLabs

Træfik 是什么?


Træfik 是一个为了让部署微服务更加便捷而诞生的现代HTTP反向代理、负载均衡工具。它支持多种后台 (Rancher、Docker、Swarm、Kubernetes、Marathon、Mesos、Consul、Etcd、Zookeeper、BoltDB、Rest API、file…) 来自动、动态刷新配置文件,以实现快速服务发现。



特性


  • 它非常快

  • 无需安装其他依赖,通过Go语言编写的单一可执行文件

  • 支持 Rest API

  • 多种后台支持:Rancher、Docker、Swarm、Kubernetes、Marathon、Mesos、Consul、Etcd,并且还会更多

  • 后台监控,可以监听后台变化进而自动化应用新的配置文件设置

  • 配置文件热更新。无需重启进程

  • 正常结束http连接

  • 后端断路器

  • 轮询,rebalancer 负载均衡

  • Rest Metrics

  • 支持最小化 官方 docker 镜像

  • 后台支持SSL

  • 前台支持SSL(包括SNI)

  • 清爽的AngularJS前端页面

  • 支持Websocket

  • 支持HTTP/2

  • 网络错误重试

  • 支持Let’s Encrypt (自动更新HTTPS证书)

  • 高可用集群模式


清爽的界面


Træfik 拥有一个基于AngularJS编写的简单网站界面。


以上内容转自:https://traefik.cn


Rancher-Træfik部署


为了保证 Træfik 资源不受其他服务的影响,我们可以通过指定专机专用的方式,让 Træfik 服务独自运行在某一台节点上。


PS:专机专用功能,目前只适用于 Rancher 自动调度容器。


一、运行 Rancher Server 并添加 Rancher-Agent 专机专用节点


  1. 通过http://rancher-server:8080 地址登录 WEB;

  2. 功能定位到 基础设施|主机,并点击添加主机,复制生成的命令来添加一台 Rancher-Agent;

  3. 主机成功添加后,页面定位到 基础设施|主机 ,找到需要的主机,在主机视图的右上角,点击三个点的省略号,再点击编辑;

  4. 在主机编辑视图中,分别在标签与容器标签需求中添加  træfik_lb=true;


PS:第一个标签:Træfik 服务在启动时会检查主机是否有 træfik_lb=true 标签,只有带有这个标签的主机才能安装Træfik服务。

第二个容器标签需求:这个就是专机专用的功能,通过设置 træfik_lb=true 这个标签,只有带有 træfik_lb=true 标签的服务才能运行到这个节点上。



二、进入商店(Catalog)搜索并安装

Træfik 应用



  • 标签设置好之后,进入商店搜索Træfik并安装;



  • 点击查看详情进入配置界面,这里我们把 http port 端口改为80 ,其他配置保持默认。最后点击启动;



  • 进入 应用|用户 视图,可以看到Træfik应用已正常运行;



  • 进入 基础架构|主机 视图下,可以看到Træfik运行在指定主机上;


三、运行 demo 应用


  • 新建一个名为 demo 的空应用栈;

  • 在 demo 中添加一个名为 nginx 的服务,把数量设置为4,



  • 在标签设置中,添加如下几条标签:



  • træfik.enable = true  可以理解为是否把此服务注册到træfik的一个开关; træfik.domain = test.local  一个适用于所有服务访问的主域名,可以设置多个用逗号隔开;træfik.alias = nginx  服务别名,可以理解为主域名下的二级域名,可以设置多个用逗号隔开;træfik.port = 80  告诉træfik 服务暴露的端口号;

  • Træfik默认强制开启健康检查,所有只有健康的服务才会被注册到Træfik上。在健康检查中配置健康检查



  • 服务正常运行



四、demo-nginx 服务配置


  • Træfik有服务管理控制台,默认端口8000。



  • 在控制台中可以看到访问地址:nginx.demo.test.local,nginx.test.local,以前当前后端 健康server 数目

  • 测试访问:nginx.demo.test.local,   nginx.test.local


 

公众号:RancherLabs

官    网:cnrancher.com

加它好友

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值