traefik使用etcd存储配置——实例演示

  

traefik使用etcd作为后端配置存储配置实例

  

功能测试目的:

  
 <代码> 1:Traefik作为web服务,使用了要领库作为配置统一存储空间,实现Traefik服务可以方便的增删节点,解耦Traefik服务启动后服务配置的问题。
  2:Traefik使用http验证方式申请ssl证书,即每配置一个域名让Traefik帮我们自动申请一个ssl证书。 
  

测试步骤如下:

  
 <代码> 1:安装traefik 1.7 +
  2:安装etcd
  3:安装Etcdkeeper
  4:配置traefik对接etcd库
   
  

演示环境

  
 <代码>使用AWS云平台测试:
  云主机一台,配置公网IP地址,开放80 443 8080 1180端口
  
  traefik v1.7 +
  web服务
  
  占用端口:
  http 80
  https 443
  traefik管理页8080面
  配置目录/etc/traefik
  
  Etcd:
  高可用,强一致性的服务发现存储仓库,
  作为traefik后端配置存储
  占用端口:
  2379年外部客户端连接
  2380年etcd服务间通信
  
  Etcdkeeper:
  Etcd web界面,支持v3的api
  占用端口(可以自己设置):11800
  
  码头工人:
  用于模拟快速启动一个后端web服务
  镜像地址:containous/whoami  
  

安装traefik

  
 <代码>占用端口:
  http 80
  https 443
  traefik管理页8080面
  配置目录/etc/traefik  
  
步骤如下:
  
 <代码> wget https://github.com/containous/traefik/releases/download/v1.7.19/traefik_linux-amd64
  mv traefik_linux-amd64/usr/bin/traefik
  chmod 755/usr/bin/traefik
  mkdir - p/etc/traefik
  触摸/etc/traefik/acme.json
  chmod 755/etc/traefik
  chmod 600/etc/traefik/acme.json
   
  
验证版本
  
 <代码> [root@ip - 10 - 3 - 1 - 119 traefik] # traefik版本
  版本:v1.7.19
  代号:maroilles
  版本:go1.12.12
  建:2019 - 10 - 28 - _02:07:32pm
  OS/拱:linux/amd64  
  

至此traefik配置完毕! ! !

  

启动后端Web服务,为后面的测试做准备

  
 <代码>码头工人运行- d - p 8880:80 containous/显示本用户信息
  码头工人运行- d - p 8890:80 containous/whoami  
  

主配置文件

  
 <代码> vi/etc/traefik/traefik.toml  
  
 <代码> #开启调试模式,方便调试,默认情况下,假的
  debug=true
  
  #日志级别,“调试”、“信息”、“警告”、“错误”,“死亡”,“恐慌”
  logLevel="信息"
  
  #同时支持http和https
  defaultEntryPoints=(“http”、“https”)
  (entryPoints)
  (entryPoints.http)
  地址=":80 "
  #启用压缩传输
  压缩=true
  # http强制跳转https
  (entryPoints.http.redirect)
  入口点=癶ttps”
  (entryPoints.https)
  地址=":443 "
  #启用压缩传输
  压缩=true
  (entryPoints.https.tls)
  
  #配置自动我们加密证书
  (acme)
  电子邮件=発jh@mail.com”
  # #加密文件的存储位置
  存储="/etc/traefik/acme.json”
  # #证书类型,必需指向到一个443端口
  入口点=癶ttps”
  #在新域名接受第一次https请求时申请证书
  “点播”=false
  #自动为acme.entryPoint下的新域名申请证书
  onHostRule=true
  (acme.httpChallenge)
  # acme验证方式支持dns, http, tls,本次使用https
  # https://letsencrypt.org/zh-cn/docs/challenge-types/入口点=癶ttp”
  
  #开启日志功能
  #成功访问日志
  (accessLog)
  filePath="/var/log/traefik/acceslog.txt”
  格式=" json "
  
  #服务启动日志
  (traefikLog)
  filePath="/var/log/traefik/traefik.log”
  
  #开启网络管理端
  (网络)
  地址=":8080 "
  #设置RESTAPI为只读模式
  只读的=true
  (web.auth.basic)
  #测试/测试登陆名/密码可用openssl生成
  #用户=[”测试:$ apr1 H6uskkkW IgXLP6ewTrSuBkTrqE8wj美元/?
  
  #启用详细信息输出,会在管理界面下方打印一些错误信息,提供参考;
  (web.statistics)
  ecentErrors=10
  
  #开启api,修改服务配置,生产环境推荐添加加密认证
  (api)
  入口点=" traefik "
  #开启管理面板
  仪表板=true
  debug=true
  
  #使用文件方式管理配置
  (文件)
  #在指定目录查找配置文件
  目录="/etc/traefik/规则”
  #监视文件变更
  看=true
  
  #使用etcd作为存储开启此配置,需要与文件管理配置同时开启,不然无法正常同步配置
  (etcd)
  #节点地址:端口
  端点=" 10.3.1.119:2379 "
  #强制使用v3版本api
  useAPIV3=true
  #监视配置变更
  看=true
  

traefik使用etcd存储配置——实例演示