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

Traefik 설정 개요

원문 보기 위키 갱신

Traefik 설정 개요 (Traefik Configuration Overview)

출처: Traefik Configuration Overview

본문

부트 환경 (Boot Environment)

Traefik Proxy의 설정은 두 가지 큰 범주로 나뉘어요:

  • 설치 설정 (Install Configuration): (예전엔 정적 설정이라고 불렸어요) 변경하면 Traefik을 재시작해야 하는 파라미터를 정의해요. 엔트리포인트, 프로바이더, API/대시보드 설정, 로깅 레벨 등이 여기에 포함돼요.

  • 라우팅 설정 (Routing Configuration): (예전엔 동적 설정이라고 불렸어요) 라우터, 서비스, 미들웨어처럼 Traefik을 재시작하지 않고도 업데이트할 수 있는 요소를 다뤄요.

이 섹션은 Traefik의 초기 부팅에 필수적인 설치 설정을 다루는 데 집중해요.

설정 방법 (Configuration Methods)

Traefik은 설치 설정을 정의하는 여러 방법을 제공해요.

참고 (Note)

한 가지 방법을 골라 계속 쓰는 것이 중요해요. 서로 다른 설정 옵션을 섞는 것은 지원되지 않고 예상치 못한 동작을 일으킬 수 있거든요.

Traefik 프록시를 설정할 수 있는 방법은 다음과 같아요:

  • 파일 (File)

  • CLI

  • 환경 변수 (Environment Variables)

  • Helm

파일 (File)

YAML이나 TOML 같은 형식으로 파일에 설치 설정을 정의할 수 있어요.

설정 예시 (Configuration Example)

traefik.yml (YAML)

entryPoints:
  web:
    address: ":80"
  websecure:
    address: ":443"

providers:
  docker: {}

api:
  dashboard: true

log:
  level: INFO

traefik.toml (TOML)

[entryPoints]
  [entryPoints.web]
    address = ":80"

  [entryPoints.websecure]
    address = ":443"

[providers]
  [providers.docker]

[api]
  dashboard = true

[log]
  level = "INFO"

설정 파일 (Configuration File)

시작할 때 Traefik은 다음 디렉토리에서 traefik.yml(또는 traefik.yaml 또는 traefik.toml)이라는 이름의 파일에 설치 설정이 있는지 찾아봐요:

  • /etc/traefik/

  • $XDG_CONFIG_HOME/

  • $HOME/.config/

  • . (현재 작업 디렉토리)

configFile 인자를 사용해 이 동작을 덮어쓸 수 있어요:

traefik --configFile=foo/bar/myconfigfile.yml

CLI

CLI를 사용하면 Traefik을 시작할 때 설치 설정을 명령줄 인자로 직접 전달할 수 있어요.

설정 예시 (Configuration Example)

CLI

traefik \
  --entryPoints.web.address=":80" \
  --entryPoints.websecure.address=":443" \
  --providers.docker \
  --api.dashboard \
  --log.level=INFO

환경 변수 (Environment Variables)

환경 변수를 사용해 설치 설정을 지정할 수도 있어요. 각 옵션은 TRAEFIK_ 접두사를 붙인 환경 변수에 대응해요.

설정 예시 (Configuration Example)

ENV

TRAEFIK_ENTRYPOINTS_WEB_ADDRESS=":80" TRAEFIK_ENTRYPOINTS_WEBSECURE_ADDRESS=":443" TRAEFIK_PROVIDERS_DOCKER=true TRAEFIK_API_DASHBOARD=true TRAEFIK_LOG_LEVEL="INFO" traefik

Helm

Kubernetes 클러스터에서 Helm으로 Traefik Proxy를 배포할 때는 설치 설정을 values.yaml 파일에 정의해요.

공식 Traefik Helm 차트는 GitHub에서 찾을 수 있어요.

설정 예시 (Configuration Example)

values.yaml

ports:
  web:
    exposedPort: 80
  websecure:
    exposedPort: 443

additionalArguments:
  - "--providers.kubernetescrd.ingressClass=traefik"
  - "--log.level=INFO"

Helm 명령 (Helm Commands)

helm repo add traefik https://traefik.github.io/charts
helm repo update
helm install traefik traefik/traefik -f values.yaml

더 알아보기 (Learn more)