当前位置:网站首页>新一代代理利器 - traefik
新一代代理利器 - traefik
2022-04-22 19:46:00 【CylonChau】
traefik介绍
traefik-现代反向代理,也可称为现代边缘路由;traefik原声兼容主流集群,Kubernetes,Docker,AWS等。官方的定位traefik是一个让开发人员将时间花费在系统研发与部署功能上,而非配置和维护。并且traefik官方也提供自己的服务网格解决方案
作为一个 modern edge router ,traefik拥有与envoy相似的特性
- 基于go语言研发,目的是为了简化开发人员的配置和维护
- tcp/udp支持
- http L7支持
- GRPC支持
- 服务发现和动态配置
- front/ edge prory支持
- 可观测性
- 流量管理
- …
traefik 术语
要了解trafik,首先需要先了解一下 有关trafik中的一些术语。
- EntryPoints 入口点,是可以被下游客户端连接的命名网络位置,类似于envoy 的listener和nginx的listen
- services 服务,负载均衡,上游主机接收来自traefik的连接和请求并返回响应。 类似于nginx upstream envoy的clusters
- Providers 提供者,提供配置文件的后端,如文件,consul,redis,etcd等,可使traefik自动更新
- routers 路由器,分析请求,将下游主机的请求处理转入到services
- middlewares: 中间件,在将下游主机的请求转入到services时进行的流量调整
traefik部署安装
traefik为go语言开发的,可以直接下载运行即可。此处介绍直接运行二进制程序
后端环境准备,此处为docker运行的两个后端。
version: '3'
services:
webserver1:
image: sealloong/envoy-end:latest
ports:
- 91:90
networks:
envoymesh:
aliases:
- v1_server
- default_server
environment:
- VERSION=v1
- COLORFUL=blue
expose:
- 90
webserver2:
image: sealloong/envoy-end:latest
ports:
- 92:90
networks:
envoymesh:
aliases:
- v1_server
- default_server
environment:
- VERSION=v1
- COLORFUL=blue
expose:
- 90
networks:
envoymesh: {
}
traefik配置说明
Traefik中的配置可以引用两种不同的内容:
- 完全动态路由配置(动态配置)
- 启动时配置(静态配置)
静态配置一般定义traefik的endpoints 与providers,这些不经常变动
动态配置一般定义traefik的处理浏览的部分,如 中间件,路由,浏览管理等。
- traefik1 与 traefik2的配置文件不兼容
此处配置主要以file方式讲解。
静态配置部分:
entryPoints:
web:
address: :8081
[api]
dashboard = true
insecure = true
providers:
file:
filename: ./root.yaml
[accessLog]
filePath = "/root/access.log"
format = "json"
动态配置部分
http:
routers:
router0:
rule: "Host(`test.com`)"
service: "service-foo"
entryPoints:
- web
router1:
rule: "Path(`/`)"
service: "baidu"
entryPoints:
- web
services:
service-foo:
loadBalancer:
servers:
- url: "http://10.0.0.4:91/"
- url: "http://10.0.0.4:92/"
baidu:
loadBalancer:
servers:
- url: http://www.baidu.com/


版权声明
本文为[CylonChau]所创,转载请带上原文链接,感谢
https://blog.csdn.net/sinat_24092079/article/details/120676521
边栏推荐
- More than 100 days, 0 basic self-study and career change software testing, from 3000 to 15K monthly salary, I compiled a super complete learning guide
- Supplement to "continue raspberry pie 4B + OLED: automatic display of IP address after startup", for raspberry PI OS Lite 64 bit
- Chrome plug-in dark reader, eye protecting dark mode browser
- 2路CAN/CAN FD 数据记录诊断仪为企业解决偶发性错误难点
- Anaconda creates a new environment and installs the GPU version of pytorch
- [Niuke brush question 19] MP3 cursor position
- .net 后台上传图片不用保存图片实现压缩图片
- 时序数据库市场漫谈
- 数据中心碳中和之路,新华三如何全栈赋能?
- 关于log4j2的重新加载,以及不同级别日志输出到不同日志文件
猜你喜欢

2-way can / can FD data recording diagnostic instrument solves the difficulty of accidental errors for enterprises

从功能测试到自动化测试,待遇翻倍,我整理了这一份3000字超全学习指南

The SQL statement obtains each day, week, month and year according to the start and end date

js复制粘贴,clipboard.js

Selenium自动化之弹窗处理

EasyCVR流媒体内核无法启动是什么原因?

【2022应届生看过来】一个无经验的大学毕业生,可以转行做软件测试吗?

Unable to log in to remote MySQL server 1045 error

x16为什么比x8慢?

DNS资源记录详解&权威|递归解析区别(超细致)
随机推荐
一文读懂Hoo Smart Chain的可视化公链
【八股文】线程安全问题
From functional test to automatic test, the salary doubled. I sorted out this 3000 word super complete learning guide
让模型训练速度提升2到4倍,「彩票假设」作者的这个全新PyTorch库火了
MYSQL设计表时,需要 两个TIMESTAMP 字段的情况
656 · large integer multiplication
【八股文】JUC的使用场景及特点
MYSQL,组合的唯一索引中,处理NULL值的问题
linux 下mysql 5.6的一些操作
Query whether there is deadlock in SQL Server
Pytorch deep learning practice 08 loading data set
5篇关于强化学习在金融领域中应用的论文推荐
《PyTorch深度学习实践》09 多分类问题
互联网快讯:联想公布ESG新进展;极米H3S、极米Z6X Pro出色音画获好评;小红书回应“裁员20%”
08-UDFs
梅宏院士:如何构造人工群体智能
Learning Android VI from scratch -- data persistence
【程序源代码】毕业设计-电影网站
js复制粘贴,clipboard.js
The origin explanation and use example of image pre training model