Repolode
jittering

jittering/traefik-kop

Agente de descoberta que lê labels de containers Docker em hosts remotos e as publica no Redis, permitindo que uma única instância do Traefik roteie serviços em vários nós Docker.

Estrelas
526
Forks
29
Issues abertas
1
Último commit
há 25 dias

O que é?

traefik-kop é um agente de descoberta para executar um cluster Docker com vários hosts, sem Swarm ou Kubernetes, atrás de uma única instância do Traefik exposta à internet. Cada nó worker executa o traefik-kop, que lê as labels dos containers no daemon Docker local usando a mesma lógica do provider Docker do Traefik e publica a configuração de roteamento resultante em uma instância compartilhada do Redis. O nó principal do Traefik é configurado com um provider Redis apontando para essa mesma instância, para obter as rotas dos serviços em todos os nós.

O agente cuida dos detalhes necessários para o roteamento entre hosts. Ele substitui os IPs internos dos containers por um IP de bind acessível, definido por flag, variável de ambiente, interface ou label por serviço, e obtém as portas dos serviços a partir das portas publicadas no host. Dá suporte a namespaces para selecionar subconjuntos de containers, à mesclagem de load balancers entre nós, à expiração baseada em TTL do Redis com renovação periódica, ao Redis Sentinel e a TLS com autenticação mútua opcional. Os eventos do Docker são monitorados em tempo real, com uma alternativa de polling configurável.

Recursos principais

  • 01Publica no Redis compartilhado a configuração de roteamento do provider Docker do Traefik de cada nó.
  • 02Seleciona IPs de bind por label, flag, interface de rede ou detecção automática.
  • 03Filtra containers por namespaces, incluindo vários namespaces separados por vírgula.
  • 04Mescla entradas de load balancer para serviços executados em vários nós.
  • 05Dá suporte à expiração por TTL do Redis, ao Redis Sentinel e a TLS com autenticação mútua.

Casos de uso

  • Disponibilizar vários hosts Docker independentes por meio de um único ponto de entrada público do Traefik, sem Swarm ou Kubernetes.
  • Executar instâncias separadas do Traefik e do traefik-kop lado a lado usando prefixos de labels.
  • Manter uma tabela de roteamento baseada em Redis que expira entradas obsoletas quando um nó desaparece.

Início rápido

  1. 1

    Configure o nó Traefik para usar o provider Redis (traefik.yml).

  2. 2

    Execute o traefik-kop com docker-compose em cada um dos outros nós Docker e configure REDIS_ADDR e BIND_IP.

  3. 3

    Adicione as labels do traefik e um mapeamento de porta ao serviço de destino.

Antes de usar

  • É necessária uma instância Redis em execução que possa ser acessada tanto pelo Traefik quanto pelo traefik-kop.
  • A conexão com o Docker é feita somente por um socket unix; conexões ao Docker via SSH e HTTP(S) não são compatíveis.
  • A mesclagem do balanceador de carga vem desativada por padrão e pode deixar IPs antigos se o IP de um nó mudar.

Em coleções

Tópicos

Perguntas frequentes

O que é traefik-kop?
Agente de descoberta que lê labels de containers Docker em hosts remotos e as publica no Redis, permitindo que uma única instância do Traefik roteie serviços em vários nós Docker. traefik-kop é um agente de descoberta para executar um cluster Docker com vários hosts, sem Swarm ou Kubernetes, atrás de uma única instância do Traefik exposta à internet. Cada nó worker executa o traefik-kop, que lê as labels dos containers no daemon Docker local usando a mesma lógica do provider Docker do Traefik e publica a configuração de roteamento resultante em uma instância compartilhada do Redis. O nó principal do Traefik é configurado com um provider Redis apontando para essa mesma instância, para obter as rotas dos serviços em todos os nós.
traefik-kop é gratuito? Qual é a licença?
traefik-kop é open source sob a licença MIT. Confira os termos da licença antes de usá-lo em produtos comerciais.
traefik-kop ainda é mantido?
Manutenção ativa. O último commit de traefik-kop foi em 13 de out. de 2026.
Para que posso usar traefik-kop?
Disponibilizar vários hosts Docker independentes por meio de um único ponto de entrada público do Traefik, sem Swarm ou Kubernetes. Executar instâncias separadas do Traefik e do traefik-kop lado a lado usando prefixos de labels. Manter uma tabela de roteamento baseada em Redis que expira entradas obsoletas quando um nó desaparece.
Como instalar traefik-kop?
Configure o nó Traefik para usar o provider Redis (traefik.yml). Execute o traefik-kop com docker-compose em cada um dos outros nós Docker e configure REDIS_ADDR e BIND_IP. Adicione as labels do traefik e um mapeamento de porta ao serviço de destino.
Onde consigo traefik-kop?
O código-fonte e as instruções de instalação estão no GitHub: https://github.com/jittering/traefik-kop

Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.

Projetos relacionados