Kubernetes 服務入口管理 Traefik Ingress Controller
阿新 • • 發佈:2018-11-01
前面部署了 kubernetes/ingress-nginx 作為 Ingress Controller,使用 Nginx 反向代理與負載,通過 Ingress Controller 不斷的跟 Kubernetes API 互動,實時獲取後端 Service、Pod 等的變化,然後動態更新 Nginx 配置,並重新整理使配置生效。Traefik 是一個用 Golang 開發的輕量級的 Http 反向代理和負載均衡器軟體,由於可以自動化配置和重新整理 backend 節點,目前可以被絕大部分容器平臺與元件支援,例如 Docker, Swarm mode, Kubernetes,, Consul
Traefik 特性
- 自動化動態配置無需服務重啟
- 支援多個負載平衡演算法
- 支援 Let’s Encrypt (萬用字元支援) 向您的微服務提供 HTTPS
- 支援熔斷,重試
- 叢集模式的高可用性
- 提供簡潔的 UI 介面
- 支援 Websocket, HTTP/2, GRPC 協議
- 提供監控的服務(Rest、Prometheus、Datadog、Statsd、InfluxDB)
- 保留訪問日誌(JSON,CLF)
- 快速
- 支援 Rest API
- 使用二進位制檔案打包,並作為一個 docker 映象提供
配置 Traefik
所有的配置檔案可以在官方的 github 倉庫中找到,
REFER:
https://docs.traefik.io/user-guide/kubernetes/
https://github.com/containous/traefik/tree/master/examples/k8s