traefik怎么用etcd配置存储
发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,概念traefik是一款开源的反向代理与负载均衡工具。它最大的优点是能够与常见的微服务系统直接整合,可以实现自动化动态配置。目前支持Docker, Swarm, Mesos/Marathon, Mes
千家信息网最后更新 2025年12月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安全错误
数据库的锁怎样保障安全
梦幻大唐官府服务器能玩吗
操作系统文件怎么转换成数据库
云数据库安全保障
企业十四五网络安全规划重点
网络安全报告范文800
苹果与华为服务器不匹配
手机网游软件开发
医药公司的数据库管理员
青少年线上网络安全
网络安全的六大风向
大大明非网络技术工作室
学计算机网络技术有哪些出路
网络安全防骗资料
四川艾美伦网络技术有限公司
软件开发工程师承接网站
软件开发技术靠谱吗
数据库清理版本语句
科技精选之工业互联网投有哪些
驾校学生管理系统数据库
不同地区服务器对游戏的影响
多台服务器怎么管理员
网络安全相关的文章
sql大学数据库经典例题
轻松筹网络技术
甘肃智慧团建软件开发系统
都江堰市网络安全宣传周
邯郸财务软件开发价格
网络技术这一行
ibm数据库软件下载
服务器断开连接后还在训练吗