본문 바로가기

Study/CI&CD

Rancher Desktop의 Traefik 사용 시 Dashboard 활성화하기

반응형

Traefik Dashboard 소개

Traefik Dashboard는 Traefik에서 처리하는 정보를 보여주는 web UI 화면을 제공해 준다.

https://doc.traefik.io/traefik/operations/dashboard/

Rancher Desktop을 사용하면 traefik을 사용할 수 있는 옵션을 제공해 주어서 별도의 설치를 하지 않아도 간단하게 사용이 가능하다.

traefik deploy 설정을 확인해 보면

kubectl -n kube-system describe deploy traefik

Traefik의 Dashboard가 활성화되어 있는 것을 확인할 수 있다.

    Args:
      --global.checknewversion
      --global.sendanonymoususage
      --entrypoints.metrics.address=:9100/tcp
      --entrypoints.traefik.address=:9000/tcp
      --entrypoints.web.address=:8000/tcp
      --entrypoints.websecure.address=:8443/tcp
      --api.dashboard=true
      --ping=true
      --metrics.prometheus=true
      --metrics.prometheus.entrypoint=metrics
      --providers.kubernetescrd
      --providers.kubernetesingress
      --providers.kubernetesingress.ingressendpoint.publishedservice=kube-system/traefik

하지만 외부 접근이 처리되어 있지 않아 앞서 소개한 dashboard를 볼 수 없다.

dashboard 활성화 방법 1

https://docs.rancherdesktop.io/faq/#q-how-can-i-enable-the-dashboard-for-the-traefik-ingress-controller

 

FAQ | Rancher Desktop Docs

This FAQ is a work in progress designed to answer the questions our users most frequently ask about Rancher Desktop.

docs.rancherdesktop.io

파워쉘에서 port-forward를 다음과 같이 지정한다.

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

이렇게 하면 바로 dashboard를 접근할 수 있지만 매번 pc를 재부팅하고 rancher desktop을 사용할 때마다 해당 명령을 실행해야 하는 번거로움이 있다.

dashboard 활성화 방법 2

해당 deployment에 접근할 service와 ingress를 설정하는 방법이다.

내 경우 다음과 같이 설정하였다.

apiVersion: v1
kind: Service
metadata:
  name: traefik-service
  namespace: kube-system
spec:
  selector:
    app.kubernetes.io/name: traefik
  ports:
  - protocol: TCP
    name: traefik-dashboard-port
    port: 9000
    targetPort: 9000
  - protocol: TCP
    name: traefik-metrics-port
    port: 9100
    targetPort: 9100
  type: LoadBalancer
----
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: traefik-ingress
  namespace: kube-system
spec:
  rules:
  - host: traefik.bluesky.local
    http:
      paths:
      - path: /
        pathType: Prefix
        backend:
          service:
            name: traefik-service
            port:
              number: 9000
      - path: /metrics
        pathType: Prefix
        backend:
          service:
            name: traefik-service
            port:
              number: 9100

해당 설정을 하면 dashboard와 prometheus의 metric 정보를 확인할 수 있다.
(rancher desktop의 traefik 사용 시 metric 설정이 기본 활성화 되어 있다.)

 

 

반응형