본문 바로가기
WIKI 기술 지식 베이스

Traefik 확장하기

원문 보기 위키 갱신

출처: Traefik 확장하기 (Extend Traefik)

본문

Traefik 확장하기

플러그인은 Traefik을 맞춤 기능과 동작으로 확장할 수 있게 해 주는 강력한 기능이에요. Plugin Catalog는 기존 플러그인의 전체 목록을 제공하는 소프트웨어 서비스(SaaS) 플랫폼입니다.

Plugin Catalog 접근하기 Plugin Catalog는 Traefik 대시보드의 Plugins 메뉴 항목으로 들어갈 수 있어요.

Traefik 인스턴스에 새 플러그인 추가하기

Traefik 인스턴스에 새 플러그인을 추가하려면 그 인스턴스의 설치(정적) 구성을 바꿔야 해요. 각 플러그인의 Install 섹션에 설치(정적) 구성 예시가 있어요. 많은 플러그인이 Traefik 라우팅(동적) 구성에 자체 섹션을 갖고 있습니다.

실험적 기능

플러그인은 예상치 못한 방식으로 Traefik의 동작을 바꿀 수 있어요. 프로덕션 Traefik 인스턴스에 새 플러그인을 추가할 때는 주의하세요.

Traefik 인스턴스에 새 플러그인을 추가하는 방법을 더 배우려면 개발자 문서를 참고하세요.

플러그인 시스템

Traefik은 서로 다른 사용 사례와 개발자 선호도를 위해 설계된 두 가지 플러그인 시스템을 지원해요.

Yaegi 플러그인 시스템

Traefik Yaegi 플러그인은 Go 언어로 개발돼요. 본질적으로 Go 패키지죠. 사전 컴파일된 플러그인과 달리, Yaegi 플러그인은 Traefik에 내장된 Go 인터프리터인 Yaegi가 즉석에서 실행합니다.

이 방식은 컴파일과 복잡한 툴체인이 필요 없어서, 플러그인 개발이 브라우저 확장 프로그램을 만드는 것처럼 간단해져요. Yaegi 플러그인은 미들웨어와 프로바이더 기능을 모두 지원합니다.

주요 특징

  • Go 언어로 작성

  • 컴파일 불필요

  • 내장 인터프리터로 실행

  • 완전한 Go 기능 세트 지원

  • 개발 중 핫-리로드 가능

WebAssembly(WASM) 플러그인 시스템

Traefik WASM 플러그인은 WebAssembly(WASM)로 컴파일되는 어떤 언어로든 개발할 수 있어요. 이 방식은 http-wasm을 기반으로 합니다.

WASM 플러그인은 이식 가능한 바이너리 모듈로 컴파일돼서, 보안 격리를 유지하면서 거의 네이티브에 가까운 성능으로 실행됩니다.

주요 특징

  • 다중 언어 지원 (Go, Rust, C++ 등)

  • WebAssembly 바이너리로 컴파일

  • 네이티브에 가까운 성능

  • 강력한 보안 격리

  • 현재는 미들웨어만 지원

나만의 플러그인 만들기

Traefik 사용자는 자신만의 플러그인을 만들어 Plugin Catalog로 커뮤니티와 공유할 수 있어요. Traefik 플러그인 제작에 대해 더 배우려면 개발자 문서를 참고하세요.

더 알아보기 (Learn more)