traefik怎么用etcd配置存储
发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,概念traefik是一款开源的反向代理与负载均衡工具。它最大的优点是能够与常见的微服务系统直接整合,可以实现自动化动态配置。目前支持Docker, Swarm, Mesos/Marathon, Mes
千家信息网最后更新 2026年11月02日traefik怎么用etcd配置存储功能测试目的:
概念
traefik是一款开源的反向代理与负载均衡工具。它最大的优点是能够与常见的微服务系统直接整合,可以实现自动化动态配置。目前支持Docker, Swarm, Mesos/Marathon, Mesos, Kubernetes, Consul, Etcd, Zookeeper, BoltDB, Rest API等等后端模型。
etcd 是一个分布式键值对存储系统,由coreos 开发,内部采用 raft 协议作为一致性算法,用于可靠、快速地保存关键数据,并提供访问。通过分布式锁、leader选举和写屏障(write barriers),来实现可靠的分布式协作。etcd集群是为高可用、持久化数据存储和检索而准备。
功能测试目的:
1:Traefik 作为web服务,使用etd库作为配置统一存储空间,实现traefik服务可以方便的增删节点,解耦traefik服务启动后服务配置的问题。2:Traefik 使用http验证方式申请ssl证书,即每配置一个域名让traefik 帮我们自动申请一个ssl证书.测试步骤如下:
1:安装 traefik 1.7+ 2:安装 etcd3:安装 Etcdkeeper4:配置 traefik 对接 etcd 库演示环境
使用AWS云平台测试:云主机一台、配置公网IP地址,开放80 443 8080 1180 端口traefik v1.7+ web 服务占用端口:http 80 https 443 traefik 管理页面 8080配置目录 /etc/traefik Etcd:高可用、强一致性的服务发现存储仓库,作为traefik 后端配置存储 占用端口:外部客户端连接 2379etcd服务间通信 2380Etcdkeeper:Etcd web界面,支持v3的api占用端口(可以自己设置):11800Docker :用于模拟快速启动一个后端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-amd64mv traefik_linux-amd64 /usr/bin/traefikchmod 755 /usr/bin/traefik mkdir -p /etc/traefik touch /etc/traefik/acme.jsonchmod 755 /etc/traefik chmod 600 /etc/traefik/acme.json验证版本
[root@ip-10-3-1-119 traefik]# traefik versionVersion: v1.7.19Codename: maroillesGo version: go1.12.12Built: 2019-10-28_02:07:32PMOS/Arch: linux/amd64至此traefik配置完毕 !!!
启动后端Web服务,为后面的测试做准备
docker run -d -p 8880:80 containous/whoamidocker run -d -p 8890:80 containous/whoami主配置文件
vi /etc/traefik/traefik.toml#开启debug 模式,方便调试,Default,falsedebug = true#日志级别, "DEBUG", "INFO", "WARN", "ERROR", "FATAL", "PANIC"logLevel = "INFO"# 同时支持http和httpsdefaultEntryPoints = ["http", "https"][entryPoints] [entryPoints.http] address = ":80" #启用压缩传输 compress = true #http强制跳转https [entryPoints.http.redirect] entryPoint = "https" [entryPoints.https] address = ":443" #启用压缩传输 compress = true [entryPoints.https.tls]# 配置自动Let's Encrypt证书[acme]email = "kjh@mail.com"##加密文件的存储位置storage = "/etc/traefik/acme.json"##证书类型,必需指向到一个443端口entryPoint = "https"#在新域名接受第一次https请求时申请证书onDemand = false#自动为acme.entryPoint下的新域名申请证书onHostRule = true [acme.httpChallenge] #acme 验证方式支持 dns 、http、tls,本次使用https #https://letsencrypt.org/zh-cn/docs/challenge-types/ entryPoint="http"# 开启日志功能#成功访问日志[accessLog]filePath = "/var/log/traefik/acceslog.txt"format = "json"#服务启动日志[traefikLog]filePath = "/var/log/traefik/traefik.log"# 开启web管理端[web]address = ":8080"#设置RESTAPI 为只读模式readOnly = true[web.auth.basic]#test/test 登陆名/密码 可用openssl生成 #users = ["test:$apr1$H6uskkkW$IgXLP6ewTrSuBkTrqE8wj/"]#启用详细信息输出,会在管理界面下方打印一些错误信息,提供参考;[web.statistics]ecentErrors = 10#开启api,修改服务配置,生产环境推荐添加加密认证[api] entryPoint = "traefik" #开启管理面板 dashboard = true debug = true#使用文件方式管理配置[file]#在指定目录查找配置文件directory = "/etc/traefik/rules"#监视文件变更watch = true#使用etcd作为存储开启此配置,需要与文件管理配置同时开启,不然无法正常同步配置[etcd]#节点地址:端口endpoint = "10.3.1.119:2379"#强制使用v3版本apiuseAPIV3 = true#监视配置变更watch = true添加反向代理配置文件
/etc/traefik/rulesweb域名为:kjh.pt1.jp后端服务:http://54.238.247.28:8880http://10.3.1.119:8890vi /etc/traefik/rules/kjh.pt1.toml添加配置如下:[frontends] [frontends.ft01] backend = "bk01" [frontends.ft01.routes.rule_1] rule = "Host:kjh.pt1.jp,kjh01.pt1.jp"[backends] [backends.bk01] [backends.bk01.servers.server1] url = "http://54.238.247.28:8880" weight = 10 [backends.bk01.servers.server2] url = "http://10.3.1.119:8890" weight = 10注意:上面配置的域名需要先在dns 做解析,指向traefik节点IP地址,不然无法正常申请ssl证书!!!
安装etcd
yum install etcd -yvi /etc/etcd/etcd.conf修改 ttp://localhost:2379 为 http://0.0.0.0:2379#主要修改项如下:ETCD_LISTEN_CLIENT_URLS="http://0.0.0.0:2379"ETCD_ADVERTISE_CLIENT_URLS="http://0.0.0.0:2379"#启动服务systemctl daemon-reloadsystemctl start etcdsystemctl status etcd安装 etcdkeeper
wget https://github.com/evildecay/etcdkeeper/releases/download/v0.7.5/etcdkeeper-v0.7.5-linux_x86_64.zipunzip etcdkeeper-v0.7.5-linux_x86_64.zipcd etcdkeeperchmod 755 etcdkeeper#后台启动./etcdkeeper -p 11800 &浏览器访问:
http://节点IP地址:11800/
如果可以浏览 etd 库内容为正常,但此时并无文件;
将traefik 配置将存储至etcd
同步traefik 配置至 etcd库
traefik storeconfig -c traefik.toml[root@ip-10-3-1-119 traefik]# traefik storeconfig traefik.toml........0,"DebugLogGeneratedTemplate":false,"Directory":"/etc/traefik/rules","TraefikFile":""}2020/01/05 21:19:22 Writing config to KV验证
1:导入配置时返回信息无报错,返回 Writing config to KV;
2:访问etcd ui ,查看traefik配信息是否导入成功,显示目录大致如下;
/etctraefik启动traefik 服务
执行traefik 命令即可,默认会到/etc/traefik/目录下寻找配置文件。总验
访问traefik 节点IP地址:8080 可以看到 文件的配置和KV 库的配置,配置文件配置的域名可以正常访问。
效果图如下:

配置
服务
文件
存储
端口
证书
管理
地址
域名
目录
节点
信息
日志
支持
测试
验证
分布式
方式
一致
成功
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
科技股互联网
有马互联网科技
苏州大垚互联网科技
长亮科技 互联网金融
甘肃拓世互联网科技有限公司
玖二柒互联网科技公司待遇
常德市电业局互联网科技部
昭通互联网科技选哪家
搜狐科技互联网
坤平互联网科技
青海科技产业互联网发展
科技类公司包括互联网吗
畅思互联网科技
上海京穆互联网科技有限公司
互联网风格科技公司名称
宁波跨境商互联网科技有限公司
上海同邻互联网科技有限公司规模
瑞安市蟠桃会互联网科技有限公司
每日互联网科技新闻
互联网科技快速发展优美句子
互联网与科技
互联网科技作文
狮子座互联网科技有限公司
互联网科技大会案例
衡水科技产业互联网平台
千方科技属于互联网企业吗
本届互联网大会上的黑科技
江苏互联网科技小贷
东营紫格互联网科技
恒生互联网科技趋势