文档章节

Rancher部署Traefik实现微服务的快速发现

RancherLabs
 RancherLabs
发布于 2017/09/11 12:02
字数 1143
阅读 74
收藏 2
点赞 0
评论 0

Traefik 是什么?

Traefik 是一个为了让部署微服务更加便捷而诞生的现代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证书)
  • 高可用集群模式

清爽的界面

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

输入图片说明 输入图片说明 以上内容转自:https://traefik.cn

Rancher-Traefik部署

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

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

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

  • 通过http://rancher-server:8080 地址登录 WEB;
  • 功能定位到 基础设施|主机,并点击添加主机,复制生成的命令来添加一台 Rancher-Agent;
  • 主机成功添加后,页面定位到 基础设施|主机 ,找到需要的主机,在主机视图的右上角,点击三个点的省略号,再点击编辑;
  • 在主机编辑视图中,分别在标签与容器标签需求中添加 traefik_lb=true;

PS:第一个标签:Traefik 服务在启动时会检查主机是否有 traefik_lb=true 标签,只有带有这个标签的主机才能安装Traefik服务。 第二个容器标签需求:这个就是专机专用的功能,通过设置 traefik_lb=true 这个标签,只有带有 traefik_lb=true 标签的服务才能运行到这个节点上。

输入图片说明 输入图片说明

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

标签设置好之后,进入商店搜索Traefik并安装;

输入图片说明

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

输入图片说明

进入 应用|用户 视图,可以看到Traefik应用已正常运行;

输入图片说明

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

三、运行 demo 应用

新建一个名为 demo 的空应用栈; 在 demo 中添加一个名为 nginx 的服务,把数量设置为4,

输入图片说明

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

输入图片说明

traefik.enable = true 可以理解为是否把此服务注册到traefik的一个开关; traefik.domain = test.local 一个适用于所有服务访问的主域名,可以设置多个用逗号隔开;traefik.alias = nginx 服务别名,可以理解为主域名下的二级域名,可以设置多个用逗号隔开;traefik.port = 80 告诉traefik 服务暴露的端口号; Traefik默认强制开启健康检查,所有只有健康的服务才会被注册到Traefik上。在健康检查中配置健康检查

输入图片说明

服务正常运行

输入图片说明

四、demo-nginx 服务配置

Traefik有服务管理控制台,默认端口8000。

输入图片说明

在控制台中可以看到访问地址: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场纯·技术演讲,结合实战场景,聚焦落地经验。免费参会+超高规格,详细议程及注册链接请戳 输入图片说明

© 著作权归作者所有

共有 人打赏支持
RancherLabs
粉丝 13
博文 106
码字总数 213991
作品 0
深圳
程序员
kubernetes使用Træfik代理服务

一、简介 Træfik是一个为了让部署微服务更加便捷而诞生的现代HTTP反向代理、负载均衡工具。 它支持多种后台 (Docker, Swarm mode, Kubernetes, Marathon, Consul, Etcd, Rancher, ...) 来自...

心远何方
06/27
0
0
【下一代核心技术DevOps】:(五)微服务CI与Rancher持续集成

1. 引言 DevOps的核心魅力是快速的持续集成交付,降低研发和实施运维之间的交互,使得传统的各种扯皮现象统统消失。最重要的是降低成本 保障产品交付可靠性。 使用Rancher作为持续集成的关键...

vesaa
2017/12/14
0
0
利用Traefik+Docker构建可弹性扩展的微服务或服务集群

简介 Traefik是一个与Nginx、HAProxy有些相似的HTTP反向代理服务器,兼有负载均衡的功能。Nginx和HAProxy都有一个相同的问题就是,后端服务(通常称之为upstream或backend)变化(是否能正常...

urey_pp
2017/02/09
0
0
HTTP反向代理、负载均衡软件--Traefik

Træfɪk 是一个新型的http反向代理、负载均衡软件,能轻易的部署微服务. 它支持多种后端 (Docker, Swarm, Mesos/Marathon, Consul, Etcd, Zookeeper, BoltDB, Rest API, file...) ,可以对配...

justintung
2016/04/08
6.7K
10
traefik v1.0.3 发布,http 反向代理与负载均衡工具

traefik v1.0.3 发布了,traefik 是一个新型的http反向代理、负载均衡软件,能轻易的部署微服务. 它支持多种后端 (Docker, Swarm, Mesos/Marathon, Consul, Etcd, Zookeeper, BoltDB, Rest ...

王练
2016/09/25
2.4K
30
K8S集群部署Coredns服务

k8s集群中的应用通常是通过ingress实现微服务发布的,前文介绍过在K8S集群中使用traefik实现服务的自动发布,其实现方式是traefik通过集群的DNS服务来解析service对应的集群地址(clusterip...

ylw6006
04/27
0
0
【下一代核心技术DevOps】:(一)容器服务的Rancher选型

为什么说是下一代核心技术 其实经过互联网的多次变革说起,早期的C/S架构,到后来的B/S架构,一直到现在最普遍的M/S架构,他们的背后都是技术不断的优化改进,以适应促进IT技术的发展 整体而...

vesaa
2017/12/14
0
0
traefik v1.1.0-rc4 发布,http 反向代理工具

traefik v1.1.0-rc4 发布了,traefik 是一个新型的http反向代理、负载均衡软件,能轻易的部署微服务. 它支持多种后端 (Docker, Swarm, Mesos/Marathon, Consul, Etcd, Zookeeper, BoltDB, R...

王练
2016/11/14
759
0
traefik 1.3.7 发布,http 反向代理与负载均衡工具

traefik 1.3.7 已发布,traefik 是一个新型的http反向代理、负载均衡软件,能轻易的部署微服务. 它支持多种后端 (Docker, Swarm, Mesos/Marathon, Consul, Etcd, Zookeeper, BoltDB, Rest AP...

王练
2017/08/27
742
0
Traefik 1.4.3 发布,http 反向代理与负载均衡工具

traefik 1.4.3 已发布,traefik 是一个新型的http反向代理、负载均衡软件,能轻易的部署微服务. 它支持多种后端 (Docker, Swarm, Mesos/Marathon, Consul, Etcd, Zookeeper, BoltDB, Rest AP...

王练
2017/11/16
638
1

没有更多内容

加载失败,请刷新页面

加载更多

下一页

代码生成利器:IDEA 强大的 Live Templates

代码生成利器:IDEA 强大的 Live Templates

qwfys
19分钟前
1
0
spring boot使用通用mapper(tk.mapper) ,id自增和回显等问题

最近项目使用到tk.mapper设置id自增,数据库是mysql。在使用通用mapper主键生成过程中有一些问题,在总结一下。 1、UUID生成方式-字符串主键 在主键上增加注解 @Id @GeneratedValue...

北岩
23分钟前
1
0
告警系统邮件引擎、运行告警系统

告警系统邮件引擎 cd mail vim mail.py #!/usr/bin/env python#-*- coding: UTF-8 -*-import os,sysreload(sys)sys.setdefaultencoding('utf8')import getoptimport smtplibfr......

Zhouliang6
25分钟前
0
0
日常运维--rsync同步工具

rsync命令是一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件。rsync使用所谓的“rsync算法”来使本地和远程两个主机之间的文件达到同步,这个算法只传送两个文件的不同部分,而...

chencheng-linux
30分钟前
1
0
Java工具类—随机数

Java中常用的生成随机数有Math.random()方法及java.util.Random类.但他们生成的随机数都是伪随机的. Math.radom()方法 在jdk1.8的Math类中可以看到,Math.random()方法实际上就是调用Random类...

PrivateO2
42分钟前
1
0
关于java内存模型、并发编程的好文

Java并发编程:volatile关键字解析    volatile这个关键字可能很多朋友都听说过,或许也都用过。在Java 5之前,它是一个备受争议的关键字,因为在程序中使用它往往会导致出人意料的结果。在...

DannyCoder
昨天
0
0
dubbo @Reference retries 重试次数 一个坑

在代码一中设置 成retries=0,也就是调用超时不用重试,结果DEBUG的时候总是重试,不是0吗,0就不用重试啊。为什么还是调用了多次呢? 结果在网上看到 这篇文章才明白 https://www.cnblogs....

奋斗的小牛
昨天
1
0
数据结构与算法3

要抓紧喽~~~~~~~放羊的孩纸回来喽 LowArray类和LowArrayApp类 程序将一个普通的Java数组封装在LowArray类中。类中的数组隐藏了起来,它是私有的,所以只有类自己的方法才能访问他。 LowArray...

沉迷于编程的小菜菜
昨天
0
0
spring boot应用测试框架介绍

一、spring boot应用测试存在的问题 官方提供的测试框架spring-boot-test-starter,虽然提供了很多功能(junit、spring test、assertj、hamcrest、mockito、jsonassert、jsonpath),但是在数...

yangjianzhou
昨天
1
0
rsync工具介绍/rsync通过ssh同步

rsync工具介绍 数据备份是必不可少,在Linux系统下数据备份的工具很多,其中重点介绍就是rsync工具,rsync不仅可以远程同步数据,还可以本地同步数据,且不会覆盖以前的数据在已经存在的数据...

Hi_Yolks
昨天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部