
지난 시간 k3s로 클러스터를 구축했습니다. k3s를 설치할 때 몇가지 리소스들이 함께 설치되는데요. 그 중에 Ingress Controller로써 사용되는 Traefik이 있습니다. 오늘은 이 녀석에 대해 알아보겠습니다.

Ingress Controller란?
Ingress Controller는 Ingress라는 리소스에 맞춰 로드밸런서를 요청대로 설정하는 역할을 수행합니다. 이때 로드밸런서는 쿠버네티스 Pod 형태로 제공되는 로드밸런서나 클라우드에서 제공하는 로드밸런서(AWS ALB Controller의 경우)로 구성할 수 있습니다. 각기 다른 로드밸런서에는 다른 Ingress Controller가 필요합니다.
Ingress의 가장 기본적인 역할은 L7 Layer에서 트래픽을 관리하는 것입니다. Ingress를 사용하면 특정 서비스를 외부로 노출 시키기 위해 매번 로드밸런서를 생성할 필요가 없습니다. 부하 분산 , SSL/TLS termination, host-based 라우팅, content-based 라우팅 등 여러가지 규칙들을 적용할 수 있습니다.
Traefik이란?
1. 자동 구성
서비스 자동 탐지: Traefik은 클러스터 환경(예: Kubernetes, Docker Swarm 등)에서 서비스 구성을 자동으로 감지하여 실시간으로 설정합니다.
Provider 통합: 여러 프로바이더(AWS, Docker, Kubernetes 등)와 통합되어 다양한 인프라 환경에서 사용할 수 있습니다.
2. 유연한 라우팅
L7 레벨 라우팅: HTTP/HTTPS 요청을 기반으로 하는 고급 라우팅 기능을 제공합니다. 요청의 URL 경로나 헤더, 메서드에 따라 라우팅을 설정할 수 있습니다.
SSL/TLS 지원: 자동으로 SSL 인증서를 생성하고 관리하여 HTTPS 통신을 지원합니다.
3. API 대시보드
모니터링 및 관리: Traefik은 대시보드를 제공하여 현재 라우팅 상태 및 트래픽을 시각적으로 확인하고 관리할 수 있습니다.
4. 오픈소스
5. 등등(미들웨어, 로깅, 사용 프로토콜 -> 다음에..)
주요 특징
https://news.hada.io/topic?id=14672
Traefik, 컨테이너를 사용하지 않더라도 주목할 만한 리버스 프록시 및 로드 밸런서 솔 | GeekNews
컨테이너를 사용하지 않더라도 Traefik을 살펴봐야 하는 이유Traefik이 알려진 점Traefik은 마이크로서비스 세계를 돕는 것이 목표임많은 유튜버들이 Docker나 Kubernetes와 같은 컨테이너 인프라를 소유
news.hada.io
Traefik의 대쉬보드
1. Dashboard 설정하기
k3s로 설치했을 때 Traefik의 대시보드는 기본적으로 볼 수 없습니다. 이에 따라서 Helm 차트 Configuration을 설정해주어야 합니다.
apiVersion: helm.cattle.io/v1
kind: HelmChartConfig
metadata:
name: traefik
namespace: kube-system
spec:
valuesContent: |-
additionalArguments:
- "--api" # Traefik API 활성화
- "--api.dashboard=true" # 대쉬보드 볼 수 있게 설정
- "--api.insecure=true" # 개발 용이기에 insecure통신 가능하게
- "--log.level=DEBUG" # 로그 레벨을 DEBUG로 설정
ports:
traefik:
expose: true #taefik 포트를 외부에 노출, 기본은 9000포트
providers:
kubernetesCRD:
allowCrossNamespace: true #다른 네임스페이스의 Ingress 리소스 허용
2. Dashboard 접속
http://{Host}:9000/dashboard/

직접 사용해봤을 때 장점
- 설정이 간편하다.
- 문서화가 잘 되어있다.
- 자동 서비스 탐색


직접 사용해봤을 때 단점
- 대쉬보드가 있어서 그런 지..? 로깅이 빈약하게 느껴진다.

참고자료
- https://docs.k3s.io/kr/helm#helmchartconfig로-패키지-컴포넌트-커스터마이징하기
- https://qdnqn.com/k3s-traefik-dashboard/
- https://k3s.rocks/traefik-dashboard/
'Kubernetes' 카테고리의 다른 글
Kubernetes CLI 환경 최적화 (0) | 2024.12.14 |
---|---|
[k8s] Pod의 생명주기 (11) | 2024.10.09 |
[Kubernetes] k3s로 경량화된 kubernetes 환경 구축하기 (2) | 2024.09.25 |
[k8s] Kubernetes에서 서비스에 외부 접근 제공하기: NodePort, LoadBalancer, Ingress (0) | 2024.09.18 |

지난 시간 k3s로 클러스터를 구축했습니다. k3s를 설치할 때 몇가지 리소스들이 함께 설치되는데요. 그 중에 Ingress Controller로써 사용되는 Traefik이 있습니다. 오늘은 이 녀석에 대해 알아보겠습니다.

Ingress Controller란?
Ingress Controller는 Ingress라는 리소스에 맞춰 로드밸런서를 요청대로 설정하는 역할을 수행합니다. 이때 로드밸런서는 쿠버네티스 Pod 형태로 제공되는 로드밸런서나 클라우드에서 제공하는 로드밸런서(AWS ALB Controller의 경우)로 구성할 수 있습니다. 각기 다른 로드밸런서에는 다른 Ingress Controller가 필요합니다.
Ingress의 가장 기본적인 역할은 L7 Layer에서 트래픽을 관리하는 것입니다. Ingress를 사용하면 특정 서비스를 외부로 노출 시키기 위해 매번 로드밸런서를 생성할 필요가 없습니다. 부하 분산 , SSL/TLS termination, host-based 라우팅, content-based 라우팅 등 여러가지 규칙들을 적용할 수 있습니다.
Traefik이란?
1. 자동 구성
서비스 자동 탐지: Traefik은 클러스터 환경(예: Kubernetes, Docker Swarm 등)에서 서비스 구성을 자동으로 감지하여 실시간으로 설정합니다.
Provider 통합: 여러 프로바이더(AWS, Docker, Kubernetes 등)와 통합되어 다양한 인프라 환경에서 사용할 수 있습니다.
2. 유연한 라우팅
L7 레벨 라우팅: HTTP/HTTPS 요청을 기반으로 하는 고급 라우팅 기능을 제공합니다. 요청의 URL 경로나 헤더, 메서드에 따라 라우팅을 설정할 수 있습니다.
SSL/TLS 지원: 자동으로 SSL 인증서를 생성하고 관리하여 HTTPS 통신을 지원합니다.
3. API 대시보드
모니터링 및 관리: Traefik은 대시보드를 제공하여 현재 라우팅 상태 및 트래픽을 시각적으로 확인하고 관리할 수 있습니다.
4. 오픈소스
5. 등등(미들웨어, 로깅, 사용 프로토콜 -> 다음에..)
주요 특징
https://news.hada.io/topic?id=14672
Traefik, 컨테이너를 사용하지 않더라도 주목할 만한 리버스 프록시 및 로드 밸런서 솔 | GeekNews
컨테이너를 사용하지 않더라도 Traefik을 살펴봐야 하는 이유Traefik이 알려진 점Traefik은 마이크로서비스 세계를 돕는 것이 목표임많은 유튜버들이 Docker나 Kubernetes와 같은 컨테이너 인프라를 소유
news.hada.io
Traefik의 대쉬보드
1. Dashboard 설정하기
k3s로 설치했을 때 Traefik의 대시보드는 기본적으로 볼 수 없습니다. 이에 따라서 Helm 차트 Configuration을 설정해주어야 합니다.
apiVersion: helm.cattle.io/v1
kind: HelmChartConfig
metadata:
name: traefik
namespace: kube-system
spec:
valuesContent: |-
additionalArguments:
- "--api" # Traefik API 활성화
- "--api.dashboard=true" # 대쉬보드 볼 수 있게 설정
- "--api.insecure=true" # 개발 용이기에 insecure통신 가능하게
- "--log.level=DEBUG" # 로그 레벨을 DEBUG로 설정
ports:
traefik:
expose: true #taefik 포트를 외부에 노출, 기본은 9000포트
providers:
kubernetesCRD:
allowCrossNamespace: true #다른 네임스페이스의 Ingress 리소스 허용
2. Dashboard 접속
http://{Host}:9000/dashboard/

직접 사용해봤을 때 장점
- 설정이 간편하다.
- 문서화가 잘 되어있다.
- 자동 서비스 탐색


직접 사용해봤을 때 단점
- 대쉬보드가 있어서 그런 지..? 로깅이 빈약하게 느껴진다.

참고자료
- https://docs.k3s.io/kr/helm#helmchartconfig로-패키지-컴포넌트-커스터마이징하기
- https://qdnqn.com/k3s-traefik-dashboard/
- https://k3s.rocks/traefik-dashboard/
'Kubernetes' 카테고리의 다른 글
Kubernetes CLI 환경 최적화 (0) | 2024.12.14 |
---|---|
[k8s] Pod의 생명주기 (11) | 2024.10.09 |
[Kubernetes] k3s로 경량화된 kubernetes 환경 구축하기 (2) | 2024.09.25 |
[k8s] Kubernetes에서 서비스에 외부 접근 제공하기: NodePort, LoadBalancer, Ingress (0) | 2024.09.18 |