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 专机专用节点

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

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

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

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

PS:第一个标签:Trfik 服务在启动时会检查主机是否有 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

原文来源:Rancher Labs


9月27日,北京海航万豪酒店,容器技术大会Container Day 2017即将举行。

CloudStack之父、海航科技技术总监、华为PaaS部门部长、恒丰银行科技部总经理、阿里云PaaS工程总监、民生保险CIO······均已加入豪华讲师套餐!

11家已容器落地企业,15位真·云计算大咖,13场纯·技术演讲,结合实战场景,聚焦落地经验。免费参会+超高规格,详细议程及注册链接请戳

转载于:https://blog.51cto.com/12462495/1960745

Rancher部署Traefik实现微服务的快速发现相关推荐

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

    Rancher部署Træfik实现微服务的快速发现 原文链接:http://dwz.cn/6rhDAz 原创 2017-08-28 洪晓露 RancherLabs Træfik 是什么? Træfik ...

  2. nodejs 调用微服务器_无服务器NodeJS:构建下一个微服务的快速,廉价方法

    nodejs 调用微服务器 by Filipe Tavares 由Filipe Tavares 无服务器NodeJS:构建下一个微服务的快速,廉价方法 (Serverless NodeJS: the ...

  3. Java架构师-微服务:微服务架构【单体部署 --改造--> 微服务架构】【分布式:分散压力;微服务:分散能力】【RESTFul+Docker+K8S、SpringCloud】

    一.微服务概述 微服务架构是团队面对互联网产品爆发式增长的最优选择,要解决的是快速迭代.高可靠和高可用等问题,把复杂度很高的产品拆分成一些较小的模块,并遵循康威定律,每一个模块用5-9个小团队来维护, ...

  4. 这是我见过最好的微服务 SaaS 快速开发平台。功能完整,代码结构清晰!

    大家好,我是宝哥! 今天,推荐一个微服务 SaaS 快速开发平台系统项目.第一次使用就有点上头,爱不释手,必须要推荐给大家. 上次是谁要的微服务 SaaS 快速开发平台系统项目啊,帮你找到了. 这是我 ...

  5. OpenShift 4 之Service Mesh教程(1)- 创建ServiceMesh环境,部署Istio的微服务

    <OpenShift 4.x HOL教程汇总> 说明:本文已经在OpenShift 4.8环境中验证 文章目录 创建ServiceMesh环境 部署Istio的微服务 参考 创建Servi ...

  6. python eureka服务发现_Spring Cloud版——电影售票系统—Eureka微服务注册与发现

    一.服务提供者与服务消费者 使用微服务构建的是分布式系统,微服务之间通过网络进行通信.我们使用服务提供者与服务消费者来描述微服务之间的调用关系. 名称 定义 服务提供者 服务的被调用方(为其他服务提供 ...

  7. Consul微服务注册与发现

    Consul微服务注册与发现 概念 安装与运行 服务提供者 服务消费者 总结:Eureka.Zookeeper.Consul 的异同 概念 1.什么是Consul? Consul是一套开源的分布式服务 ...

  8. centos部署python flask_python 微服务框架之nameko实践

    大纲: 1.本篇关键技术点及其释义 2.实际需求和目标 3.可行的三大解决方案 4.微服务与传统服务的差别 5.代码大纲:安装依赖及nameko五个完整的代码示例 6.附录:docker的在线安装方式 ...

  9. 搭建微服务_快速搭建 SpringCloud 微服务开发环境的脚手架

    本文作者:HelloGitHub-秦人 本文适合有 SpringBoot 和 SpringCloud 基础知识的人群,跟着本文可使用和快速搭建 SpringCloud 项目. HelloGitHub ...

最新文章

  1. redis sentinel哨兵配置及日志分析(grep -v)
  2. 研究一下valueOf与toString方法
  3. 李航《统计学习方法》之HMM隐马尔可夫模型
  4. c语言参数传入函数赋值后传出来,c语言第10次实验内容函数2邹显春.ppt
  5. oracle中创建表的自增ID
  6. python小trick持续更新~
  7. Mysql,phpmyadmin密码忘了怎么办
  8. 联想M7650DF加粉和重置/清零的正确方法
  9. OldSkoolVerb Plus for Mac(算法混响插件)
  10. Nutch简介(转3)
  11. esp32 camera_ESP32操作L298N以及示例程序说明
  12. python getopt使用_Python命令行参数解析模块getopt使用实例
  13. 拉着你的手 - 谢东 (zt)
  14. windows11打开隐藏的gpedit.msc本地组策略编辑器以及禁止自动更新系统
  15. Sql Server REPLACE函数的使用;SQL中 patindex函数的用法
  16. 数据泄露是如何发生的?有哪些预防措施...
  17. jquery.slides.js 幻灯片脚本使用方法
  18. POI之Excel简单导入
  19. Linux 下 mv 覆盖相同文件,centos7 覆盖重复文件
  20. windows下JDK的安装(一):安装路径的选择

热门文章

  1. Grape Api 笔记
  2. 给动态生成的按钮添加ajax,Ajax/Javascript动态创建按钮的问题
  3. json vue 对象转数组_vue 基础入门(一)修改
  4. core java 9 代码_Java Core 学习笔记——3.char/Unicode/代码点/代码单元
  5. 2020版北大核心期刊目录_榜单|2020武大版核心期刊RCCSE高职高专成高院校学报类自然科学综合、社会科学综合学科权威、核心及准核心期刊目录...
  6. spark编程基础--2.3面向对象编程基础
  7. 合并模拟器和真机的静态库动态库aggregate
  8. vs按f5没反应_《死神vs火影》中最受欢迎的游戏角色,仙鸣当之无愧上榜
  9. 微信小程序 自定义导航栏,只保留右上角胶囊按钮
  10. [iOS]如何重新架构 JPVideoPlayer ?