Traefik工作原理

traefik工作原理

Træfɪk 是一个为了让部署微服务更加便捷而诞生的现代HTTP反向代理、负载均衡工具。 它支持多种后台 (Docker, Swarm, Kubernetes, Marathon, Mesos, Consul, Etcd, Zookeeper, BoltDB, Rest API, file…) 来自动化、动态的应用它的配置文件设置。

k8s启动一个traefik分为5步:

1、先创建它CRD

2、创建对应RBAC权限

3、编写configmap

4、启动对应DaemonSet控制器,设置node筛选器,在特定label的节点上启动

5、创建IngressRoute控制器,建立边缘路由。域名访问

Traefik访问过程:

1、会在启动node节点上监听端口,由docker-proxy控制(但是使用2.0.5版本启动发现node节点上并没有监听80端口,也没有docker-proxy程序;集群使用的是lvs转发规则;依旧能通过域名解析到对应的pod服务上)

2、域名解析到对应的node节点上,通过node宿主机的(80/443)端口访问到IngressRoute,IngressRoute会将流量请求到service上,service再将流量转发到pod上,这一系列的转发过程都是基于label标签实现的。

3、实际上Traefik会自动与Kubernetes的API进行交互,从而自动发现k8s内部容器的状态变化。

每天进步一点点
原文地址:https://www.cnblogs.com/Otiger/p/14606640.html