Traefik反向代理
Traefik
Traefik是一個用Golang開發的輕量級的Http反向代理和負載均衡器。由於可以自動配置和重新整理backend節點,目前可以被絕大部分容器平臺支援,例如Kubernetes,Swarm,Rancher等。由於traefik會實時與Kubernetes API互動,所以對於Service的節點變化,traefik的反應會更加迅速。總體來說traefik可以在Kubernetes中完美的執行.
由於微服務架構以及 Docker 技術和 kubernetes 編排工具最近幾年才開始逐漸流行,所以一開始的反向代理伺服器比如 nginx、apache 並未提供其支援,畢竟他們也不是先知;所以才會出現 Ingress Controller 這種東西來做 kubernetes 和前端負載均衡器如 nginx 之間做銜接;即 Ingress Controller 的存在就是為了能跟 kubernetes 互動,又能寫 nginx 配置,還能 reload 它,這是一種折中方案;而最近開始出現的 traefik 天生就是提供了對 kubernetes 的支援,也就是說 traefik 本身就能跟 kubernetes API 互動,感知後端變化,因此可以得知: 在使用 traefik 時,Ingress Controller 已經不需要了。

image.png