traefik怎么用etcd配置存储

  

traefik是一款开源的反向代理与负载均衡工具。它最大的优点是能够与常见的微服务系统直接整合,可以实现自动化动态配置。目前支持码头工人,群,便/马拉松,便,Kubernetes,领事,Etcd,动物园管理员,BoltDB, Rest API等等后端模型。

Etcd是一个分布式键值对存储系统,由coreos开发,内部采用,筏协议作为一致性算法,用于可靠,快速地保存关键数据,并提供访问。通过分布式锁,领导者选举和写屏障(写屏障),来实现可靠的分布式协作.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
  操作系统/拱:,,代码,linux/amd64  

至此traefik配置完毕! ! !

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

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

主配置文件

 <代码> vi,/etc/traefik/traefik。toml  
 <代码> #开启调试模式,方便调试,默认情况下,假的
  debug=true
  
  #日志级别,“DEBUG",“INFO",“WARN",“ERROR",“FATAL",“PANIC"
  logLevel=癐NFO"
  
  #同时支持http和https
  defaultEntryPoints=[“http",“https"]
  (entryPoints)
  ,(entryPoints.http)
  ,地址=?80“;
  ,#启用压缩传输
  压缩=true
  ,,# http强制跳转https
  ,,(entryPoints.http.redirect)
  ,,,入口点=癶ttps"
  ,(entryPoints.https)
  ,地址=?443“;
  ,#启用压缩传输
  压缩=true
  ,,(entryPoints.https.tls)
  
  #配置自动还是# 39;s加密证书
  (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)
  ,入口点=皌raefik"
  ,#开启管理面板
  仪表板=true
  debug=true
  
  #使用文件方式管理配置
  (文件)
  #在指定目录查找配置文件=澳柯?etc/traefik/rules"
  #监视文件变更
  看=true
  
  #使用etcd作为存储开启此配置,需要与文件管理配置同时开启,不然无法正常同步配置
  (etcd)
  #节点地址:端口
  端点=?0.3.1.119:2379"
  #强制使用v3版本api
  useAPIV3=true
  #监视配置变更
  看=true 

traefik怎么用etcd配置存储