요청이 들어오면 컨테이너와 기타 워크로드를 시작하고, 일정 시간 동안 활동이 없으면 중지하며, 리버스 프록시와 연동합니다.
jittering/traefik-kop
원격 호스트의 Docker 컨테이너 라벨을 읽어 Redis에 게시하고, 단일 Traefik 인스턴스가 여러 Docker 노드의 서비스로 트래픽을 라우팅하도록 하는 디스커버리 에이전트입니다.
- 스타
- 526
- 포크
- 29
- 열린 이슈
- 1
- 마지막 커밋
- 24일 전
어떤 프로젝트인가요?
traefik-kop는 Swarm이나 Kubernetes 없이 여러 호스트로 구성된 Docker 클러스터를 단일 외부 공개용 Traefik 인스턴스 뒤에서 운영할 수 있게 해 주는 디스커버리 에이전트입니다. 각 워커 노드에서 실행되는 traefik-kop는 Traefik의 Docker provider와 동일한 로직으로 로컬 Docker 데몬에서 컨테이너 라벨을 읽고, 생성된 라우팅 설정을 공유 Redis 인스턴스에 게시합니다. 메인 Traefik 노드는 같은 Redis를 가리키는 Redis provider를 사용하도록 설정하면 모든 노드의 서비스 경로를 가져옵니다.
이 에이전트는 호스트 간 라우팅에 필요한 세부 사항을 처리합니다. 컨테이너 내부 IP를 플래그, 환경 변수, 네트워크 인터페이스 또는 서비스별 라벨로 지정한 접근 가능한 bind IP로 바꾸고, 게시된 호스트 포트를 바탕으로 서비스 포트를 결정합니다. 컨테이너 하위 집합을 대상으로 하는 네임스페이스, 노드 간 로드 밸런서 병합, 주기적으로 갱신되는 Redis TTL 기반 만료, Redis Sentinel, 선택적 상호 인증을 포함한 TLS를 지원합니다. Docker 이벤트를 실시간으로 감시하며, 설정 가능한 폴링 방식으로 대체할 수도 있습니다.
핵심 기능
- 01각 노드의 Traefik Docker provider 라우팅 설정을 공유 Redis에 게시합니다.
- 02라벨, 플래그, 네트워크 인터페이스 또는 자동 감지로 bind IP를 선택합니다.
- 03쉼표로 구분한 여러 네임스페이스를 포함해 네임스페이스로 컨테이너를 필터링합니다.
- 04여러 노드에서 실행되는 서비스의 로드 밸런서 항목을 병합합니다.
- 05Redis TTL 만료, Redis Sentinel, 상호 인증을 포함한 TLS를 지원합니다.
활용 사례
- Swarm이나 Kubernetes 없이 여러 독립형 Docker 호스트를 단일 외부 Traefik 진입점을 통해 서비스합니다.
- 라벨 접두사를 사용해 Traefik과 traefik-kop 인스턴스를 나란히 별도로 실행합니다.
- 노드가 사라지면 오래된 항목이 만료되는 Redis 기반 라우팅 테이블을 유지합니다.
빠른 시작
- 1
Traefik 노드가 Redis provider를 사용하도록 설정합니다(traefik.yml).
- 2
다른 각 Docker 노드에서 docker-compose로 traefik-kop를 실행하고 REDIS_ADDR 및 BIND_IP를 설정합니다.
- 3
대상 서비스에 traefik 라벨과 포트 바인딩을 추가합니다.
사용 전 알아둘 점
- Traefik과 traefik-kop 모두에서 연결할 수 있는 실행 중인 Redis 인스턴스가 필요합니다.
- Docker에는 unix 소켓으로만 연결합니다. SSH 및 HTTP(S) Docker 연결은 지원되지 않습니다.
- 로드 밸런서 병합은 기본적으로 꺼져 있으며, 노드 IP가 변경되면 이전 IP가 남을 수 있습니다.
포함된 컬렉션
토픽
자주 묻는 질문
- traefik-kop은(는) 무엇인가요?
- 원격 호스트의 Docker 컨테이너 라벨을 읽어 Redis에 게시하고, 단일 Traefik 인스턴스가 여러 Docker 노드의 서비스로 트래픽을 라우팅하도록 하는 디스커버리 에이전트입니다. traefik-kop는 Swarm이나 Kubernetes 없이 여러 호스트로 구성된 Docker 클러스터를 단일 외부 공개용 Traefik 인스턴스 뒤에서 운영할 수 있게 해 주는 디스커버리 에이전트입니다. 각 워커 노드에서 실행되는 traefik-kop는 Traefik의 Docker provider와 동일한 로직으로 로컬 Docker 데몬에서 컨테이너 라벨을 읽고, 생성된 라우팅 설정을 공유 Redis 인스턴스에 게시합니다. 메인 Traefik 노드는 같은 Redis를 가리키는 Redis provider를 사용하도록 설정하면 모든 노드의 서비스 경로를 가져옵니다.
- traefik-kop은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
- traefik-kop은(는) MIT 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
- traefik-kop은(는) 아직 유지보수되고 있나요?
- 활발히 유지보수 중. traefik-kop의 마지막 커밋은 2026년 10월 13일입니다.
- traefik-kop은(는) 어디에 사용할 수 있나요?
- Swarm이나 Kubernetes 없이 여러 독립형 Docker 호스트를 단일 외부 Traefik 진입점을 통해 서비스합니다. 라벨 접두사를 사용해 Traefik과 traefik-kop 인스턴스를 나란히 별도로 실행합니다. 노드가 사라지면 오래된 항목이 만료되는 Redis 기반 라우팅 테이블을 유지합니다.
- traefik-kop는 어떻게 설치하나요?
- Traefik 노드가 Redis provider를 사용하도록 설정합니다(traefik.yml). 다른 각 Docker 노드에서 docker-compose로 traefik-kop를 실행하고 REDIS_ADDR 및 BIND_IP를 설정합니다. 대상 서비스에 traefik 라벨과 포트 바인딩을 추가합니다.
- traefik-kop은(는) 어디서 받을 수 있나요?
- 소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/jittering/traefik-kop
요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.
관련 프로젝트
YAML을 직접 수정하지 않고 Traefik 리버스 프록시의 라우트, 미들웨어, 서비스, 인증서와 로그를 관리하는 셀프 호스팅 웹 UI입니다.
홈랩용 Docker 및 Docker Compose 환경을 자동으로 구성하는 도구로, 사전 설정된 셀프 호스팅 앱 160개 이상과 내장 리버스 프록시 및 인증 옵션을 제공합니다.
Traefik을 통해 라우팅되는 서비스를 자동으로 찾아 표시하는 현대적인 동적 대시보드입니다.
Docker, Kubernetes, Consul 및 기타 오케스트레이터에서 라우트를 자동으로 구성하는 클라우드 네이티브 HTTP 리버스 프록시이자 로드 밸런서입니다.
실행 중인 컨테이너의 VIRTUAL_HOST 변수에서 라우팅 설정을 자동 생성하는 Docker 기반 Nginx 리버스 프록시입니다.