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

Traefik Consul 문서

원문 보기 위키 갱신

Traefik Consul 문서 (Traefik Consul Documentation)

출처: Traefik Consul Documentation

본문

Traefik & Consul

설정 예시 (Configuration Example)

아래처럼 Consul 프로바이더를 활성화할 수 있어요:

파일 (YAML)

providers:
  consul: {}

파일 (TOML)

[providers.consul]

CLI

--providers.consul=true

설정 옵션 (Configuration Options)

| 필드 (Field) | 설명 (Description) | 기본값 (Default) | 필수 (Required) | | providers.providersThrottleDuration | 설정 리로드 후, 새 설정 갱신(refresh) 이벤트를 반영하기 전에 기다리는 최소 시간이에요. 이 시간 안에 여러 이벤트가 발생하면 가장 최근 것만 반영되고 나머지는 버려져요. 이 옵션은 프로바이더별로 설정할 수 없지만, 스로틀링 알고리즘은 각 프로바이더에 독립적으로 적용돼요. | 2s | 아니오 (No) | | providers.consul.endpoints | Consul에 접근할 끝점(endpoint)을 정의해요. | "127.0.0.1:8500" | 예 (yes) | | providers.consul.rootKey | 설정의 루트 키를 정의해요. | "traefik" | 예 (yes) | | providers.consul.namespaces | 조회할 네임스페이스를 정의해요. 자세한 내용은 여기를 참고하세요 | "" | 아니오 (no) | | providers.consul.token | Consul에 연결할 때 사용할 토큰을 정의해요. | "" | 아니오 (no) | | providers.consul.tls | Consul과의 보안 연결에 사용하는 TLS 설정을 정의해요 | - | 아니오 (No) | | providers.consul.tls.ca | Consul과의 보안 연결에 사용하는 인증 기관(certificate authority)의 경로를 정의해요. 기본값은 시스템 번들입니다. | - | 예 (Yes) | | providers.consul.tls.cert | Consul과의 보안 연결에 사용하는 공개 인증서의 경로를 정의해요. 이 옵션을 사용할 때는 key 옵션을 설정해야 합니다. | - | 예 (Yes) | | providers.consul.tls.key | Consul과의 보안 연결에 사용하는 개인 키의 경로를 정의해요. 이 옵션을 사용할 때는 cert 옵션을 설정해야 합니다. | - | 예 (Yes) | | providers.consul.tls.insecureSkipVerify | TLS 연결을 맺을 때 인증서가 커버하는 호스트명과 관계없이 Consul이 제시하는 어떤 인증서든 수락하도록 프로바이더에 지시해요. | false | 아니오 (No) |

namespaces

namespaces 옵션은 조회할 네임스페이스를 정의해요. namespaces 옵션을 사용하면 발견된 설정 객체 이름에 아래처럼 접미사가 붙어요:

<resource-name>@consul-<namespace>

경고 (Warning)

namespaces 옵션은 Namespaces 기능을 제공하는 Consul Enterprise에서만 동작해요.

경고 (Warning)

namespaces 옵션과 namespace 옵션 중 하나만 정의해야 해요.

파일 (YAML)

providers:
  consul:
    namespaces: 
      - "ns1"
      - "ns2"
    # ...

파일 (TOML)

[providers.consul]
  namespaces = ["ns1", "ns2"]
  # ...

CLI

--providers.consul.namespaces=ns1,ns2
# ...

라우팅 설정 (Routing Configuration)

라우팅의 전용 섹션을 참고하세요.

더 알아보기 (Learn more)