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编写的简单网站界面。nginx


以上内容转自:https://traefik.cndocker
Rancher-Træfik部署
为了保证 Træfik 资源不受其余服务的影响,咱们能够经过指定专机专用的方式,让 Træfik 服务独自运行在某一台节点上。后端
PS:专机专用功能,目前只适用于 Rancher 自动调度容器。网络
1、运行 Rancher Server 并添加 Rancher-Agent 专机专用节点
- 经过http://rancher-server:8080 地址登陆 WEB;
- 功能定位到 基础设施|主机,并点击添加主机,复制生成的命令来添加一台 Rancher-Agent;
- 主机成功添加后,页面定位到 基础设施|主机 ,找到须要的主机,在主机视图的右上角,点击三个点的省略号,再点击编辑;
- 在主机编辑视图中,分别在标签与容器标签需求中添加 træfik_lb=true;
PS:第一个标签:Træfik 服务在启动时会检查主机是否有 træfik_lb=true 标签,只有带有这个标签的主机才能安装Træfik服务。
第二个容器标签需求:这个就是专机专用的功能,经过设置 træfik_lb=true 这个标签,只有带有 træfik_lb=true 标签的服务才能运行到这个节点上。架构


2、进入商店(Catalog)搜索并安装Træfik应用
标签设置好以后,进入商店搜索Træfik并安装;负载均衡

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

进入 应用|用户 视图,能够看到Træfik应用已正常运行;socket

进入 基础架构|主机 视图下,能够看到Træfik运行在指定主机上;微服务
3、运行 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上。在健康检查中配置健康检查


4、demo-nginx 服务配置

- 在控制台中能够看到访问地址:nginx.demo.test.local,nginx.test.local,之前当先后端 健康server 数目
- 测试访问:nginx.demo.test.local,nginx.test.local

9月27日,北京海航万豪酒店,容器技术大会Container Day 2017即将举行。
CloudStack之父、海航科技技术总监、华为PaaS部门部长、恒丰银行科技部总经理、阿里云PaaS工程总监、民生保险CIO······均已加入豪华讲师套餐!
11家已容器落地企业,15位真·云计算大咖,13场纯·技术演讲,结合实战场景,聚焦落地经验。免费参会+超高规格,详细议程及注册连接请戳
