【转】Rancher部署Træfik实现微服务的快速发现
2017-08-28 22:28
411 查看
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 专机专用节点
通过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
标签的服务才能运行到这个节点上。
二、进入商店(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
加它好友
相关文章推荐
- Rancher部署Træfik实现微服务的快速发现
- Rancher部署Traefik实现微服务的快速发现
- Rancher部署Traefik实现微服务的快速发现
- 实现Onvif设备发现并与前端配合进行快速部署
- 利用git和pm2实现快速部署多个服务
- dockerfile实现服务的快速部署
- SOA研究-用zookeeper实现服务的注册和发现
- Jrebel快速实现热部署
- 用dockerfile配置生成docker image并实现容器部署(redis服务)
- SpringCloud自学入门-服务发现与消费并实现负载均衡
- 区块链开源实现fabric快速部署及CLI体验
- Redis服务快速部署
- 使用Apache Curator实现服务的注册和发现
- 如何在Rancher 2.0中使用服务发现
- SpringCloud(第 014 篇)电影 Ribbon 微服务集成 Hystrix 断路器实现失败快速响应,达到熔断效果
- Windows Server 2008 WDS(部署服务)之创建发现映像
- 如何快速部署jenkins,实现maven项目部署
- 服务注册发现consul之四: 分布式锁之四:基于Consul的KV存储和分布式信号量实现分布式锁
- 如何快速地在上千台服务器上部署一项服务