Repolode
jittering

jittering/traefik-kop

一个读取远程 Docker 节点容器标签并发布到 Redis 的发现代理,让单个 Traefik 实例可路由多台主机上的服务。

Star
526
Fork
29
未关闭 Issue
1
最近提交
25天前

这是什么?

traefik-kop 用于在不使用 Swarm 或 Kubernetes 的多主机 Docker 集群中,由一个面向公网的 Traefik 实例统一对外提供服务。每个工作节点运行 traefik-kop,它使用与 Traefik Docker provider 相同的逻辑读取本机容器的标签,并把生成的路由配置发布到共享的 Redis。主节点上的 Traefik 配置 Redis provider 指向同一实例,即可为各节点上的服务生成路由。

该代理处理了跨主机路由所需的细节:通过参数、环境变量、网卡或服务标签设置可被访问的绑定 IP,用已发布的宿主机端口作为服务端口。它还支持用命名空间筛选容器、跨节点合并负载均衡、基于 TTL 的配置过期与定期续期、Redis Sentinel,以及可选双向认证的 TLS。Docker 事件实时监听,并提供可配置的轮询兜底。

核心功能

  • 01将各节点 Traefik Docker provider 的路由配置发布到共享 Redis。
  • 02可通过标签、参数、网卡或自动检测设置绑定 IP。
  • 03支持命名空间筛选容器,可同时指定多个命名空间。
  • 04为运行在多个节点上的服务合并负载均衡条目。
  • 05支持 Redis TTL 过期、Redis Sentinel 以及双向认证的 TLS。

适用场景

  • 在不使用 Swarm 或 Kubernetes 的情况下,通过一个公网 Traefik 入口服务多台独立 Docker 主机。
  • 借助标签前缀,在同一台主机上并行运行 Traefik 与 traefik-kop。
  • 维护基于 Redis 的路由表,节点下线后自动清理过期条目。

快速上手

  1. 1

    将 Traefik 节点配置为使用 Redis 提供者(traefik.yml)

  2. 2

    在其他每个 Docker 节点上通过 docker-compose 运行 traefik-kop,并设置 REDIS_ADDR 和 BIND_IP

  3. 3

    为目标服务添加 traefik 标签和端口绑定

使用前须知

  • 需要一个可供 Traefik 和 traefik-kop 访问的 Redis 实例。
  • 仅通过 unix 套接字连接 Docker;不支持 SSH 或 HTTP(S) 方式连接 Docker。
  • 负载均衡合并默认关闭;若节点 IP 变化,旧的失效 IP 可能会残留。

收录于专题

标签

常见问题

traefik-kop 是什么?
一个读取远程 Docker 节点容器标签并发布到 Redis 的发现代理,让单个 Traefik 实例可路由多台主机上的服务。 traefik-kop 用于在不使用 Swarm 或 Kubernetes 的多主机 Docker 集群中,由一个面向公网的 Traefik 实例统一对外提供服务。每个工作节点运行 traefik-kop,它使用与 Traefik Docker provider 相同的逻辑读取本机容器的标签,并把生成的路由配置发布到共享的 Redis。主节点上的 Traefik 配置 Redis provider 指向同一实例,即可为各节点上的服务生成路由。
traefik-kop 可以免费使用吗?用的什么许可证?
traefik-kop 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
traefik-kop 还在维护吗?
活跃维护中。traefik-kop 最近一次提交是在 2026年10月13日。
traefik-kop 适合用来做什么?
在不使用 Swarm 或 Kubernetes 的情况下,通过一个公网 Traefik 入口服务多台独立 Docker 主机。 借助标签前缀,在同一台主机上并行运行 Traefik 与 traefik-kop。 维护基于 Redis 的路由表,节点下线后自动清理过期条目。
traefik-kop 怎么安装和运行?
将 Traefik 节点配置为使用 Redis 提供者(traefik.yml) 在其他每个 Docker 节点上通过 docker-compose 运行 traefik-kop,并设置 REDIS_ADDR 和 BIND_IP 为目标服务添加 traefik 标签和端口绑定
在哪里获取 traefik-kop?
源代码和安装说明在 GitHub 上:https://github.com/jittering/traefik-kop

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目