本文摘自PHP中文网,作者(*-*)浩,侵删。
Tr?f?k 是一个为了让部署微服务更加便捷而诞生的现代HTTP反向代理、负载均衡工具。 它支持多种后台(Docker, Swarm, Kubernetes, Marathon, Mesos, Consul, Etcd, Zookeeper, BoltDB, Rest API, file…) 来自动化、动态的应用它的配置文件设置。由于微服务架构以及Docker技术和kubernetes编排工具最近几年才开始逐渐流行,所以一开始的反向代理服务器比如nginx、apache并未提供其支持,毕竟他们也不是先知;所以才会出现 Ingress Controller 这种东西来做 kubernetes 和前端负载均衡器如 nginx 之间做衔接;即 Ingress Controller 的存在就是为了能跟 kubernetes 交互,又能写 nginx 配置,还能 reload 它,这是一种折中方案;而最近开始出现的 traefik 天生就是提供了对 kubernetes 的支持,也就是说 traefik 本身就能跟 kubernetes API 交互,感知后端变化,因此可以得知: 在使用 traefik 时,Ingress Controller 已经无卵用了!
Traefik 与 nginx 一样,是一款反向代理的工具,至于使用他原因基于以下几点
漂亮的dashboard界面
可基于容器label进行配置新添服务简单,不用像nginx一样复杂配置,并且不用频繁重启
对prometheus和k8s的集成
Traefik 的基础组件
就两个组件,就这么简单,支持自己写 middle-ware。
Traefik
Traefik 的主程序,启动时可以指定配置文件,
Dashboard
一个简单的Dashboard, 可以看当前的路由规则,和转发的结果统计。
配置文件如何使用
Traefik 的配置分为静态配置 和动态配置两大类。
相关阅读 >>
更多相关阅读请进入《nginx》频道 >>