helm으로 traefik 설치 시 Dashboard 노출 방법

Sangwoon Park·2023년 3월 13일

배경

helm으로 traefik 설치 시, 9000번 포트가 포워딩되어 있지 않음.
따라서 traefik의 dashboard를 보기 위해 별도의 설정이 필요.

해결 방법

방법1. kubectl로 포트포워딩 설정

kubectl port-forward $(kubectl get pods --selector "app.kubernetes.io/name=traefik" --output=name) 9000:9000

설정 후, http://{traefik의 EXTERNAL-IP}:9000/dashboard/ 를 통해 접속 가능.

방법2. dashboard로 라우팅하는 IngressRoute(CRD) 추가

# dashboard.yaml
apiVersion: traefik.containo.us/v1alpha1
kind: IngressRoute
metadata:
  name: dashboard
spec:
  entryPoints:
    - web
  routes:
    - match: Host(`FIXME: traefik의 EXTERNAL-IP나 도메인 주소`) && (PathPrefix(`/dashboard`) || PathPrefix(`/api`))
      kind: Rule
      services:
        - name: api@internal
          kind: TraefikService

위와 같은 설정 파일을 생성하고 CLI에서 아래 명령어로 CRD 적용.

kubectl apply -f dashboard.yaml

설정 후, http://{traefik의 EXTERNAL-IP}/dashboard/ 를 통해 접속 가능.

example)

# dashboard.yaml
apiVersion: traefik.containo.us/v1alpha1
kind: IngressRoute
metadata:
  name: dashboard
spec:
  entryPoints:
    - web
  routes:
    - match: Host(`192.168.228.70`) && (PathPrefix(`/dashboard`) || PathPrefix(`/api`))
      kind: Rule
      services:
        - name: api@internal
          kind: TraefikService


출처

profile
백엔드 개발자입니다.

0개의 댓글