traefik的一些知识


Traefik is an open-source Edge Router that makes publishing your services a fun and easy experience. It receives requests on behalf of your system and finds out which components are responsible for handling them.

英文自己看哈,可以理解为和nginx做的工作一样,进行负载均衡,端口暴露等,但是比nginx灵活的多,支持自动更新配置。

三个主要的概念

1、entryPoint

是访问traefik的网络接入端口,支持http和TCP。

entrypoints

entrypoint只能定义在静态文件中,traefik启动默认加载的文件,默认目录为 /etc/traefic,所以把配置文件丢到这个目录下

  1 #static configuration
  2 api:
  3   dashboard: true
  4   insecure: true
  5 providers:
  6   file:
  7     filename: "/etc/traefik/dynamic-conf.yml"
  8     watch: true
  9 entryPoints:
 10   web:
 11     address: ":80"
 12   web-secure:
 13     address: ":443"
 14   traefik:
 15     address: ":8080"
 16   cluster-9001:
 17     address: ":9001"
 18   cluster-9002:
 19     address: ":9002"
 20   cluster-9003:
 21     address: ":9003"
 22   cluster-9004:
 23     address: ":9004"
 24 


2、router

routers可以理解为traefik接收到的请求如何路由到service上,或者又哪个service转到真实的服务商,可以包含许多的规则。


routers

配置样例(配置到动态配置文件中)

  1 tcp:
  2   routers:
  3     cluster-router-111111:
  4       entryPoints:
  5       - "cluster-9001"
  6       rule: "HostSNI(`*`)"
  7       service: "cluster-service-9001"

3、service

The Services are responsible for configuring how to reach the actual services that will eventually handle the incoming requests.

简单理解service就是定义如何访问到真实的服务上去

services

  1 services:
  2     cluster-service-9001:
  3       loadBalancer:
  4         servers:
  5         - address: "10.20.26.119:20001"
  6         - address: "10.20.26.119:20002"

4、测试

启动方式

sudo ./traefik (cd到traefik的下载目录下,把配置文件都丢到/ect/traefik下,启动的时候会自动到该目录下加载配置,也会从其他的目录加载配置,具体的请参考官网说明)

image

访问http://xxx.xxx.xxx.xxx:8080/,因为在entrypoints里已经将8080端口开放了。

image


image

image

image


在Service Details里,Servers是就是真实的服务提供Ip和端口,示例中,20001端口和20002端口都是映射的redis的6379端口。用docker启动的redis

image

其中,-p 9002端口是我在entrypoint中暴露的端口,测试成功

更详细的使用要参考官网:https://docs.traefik.io/v2.1/


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM