- Traefik 이란?
- 마이크로 서비스를 쉽고 편리하게 배포 할 수 있게하는 HTTP reverse-proxy 이자 Load-Balancer.
- 다양한 제품(Docker, Swarm, K8s, Marathon, Consul, Etcd, Rancher, Amazon ECS 등등) 과 통합(연동) 지원 됨.
- 필요한 configration을 스스로 셋팅하고, 동적으로 다이나믹하게 반영도 함. (오케스트레이터 -> traefik 포인팅만 하면 끝!)
- Traditional Vs Mordern reverse-proxy
- traditional : 사용자가 path 및 subdomain 을 기반으로 -> ms 라우팅을 일일이 설정. (ms 환경에 각종 변화가 생길때마다... )
- mordern : 오케스트레이터 API로 지속적으로 리스팅 하면서, 즉각적으로 ms 라우팅을 자동적으로 생성 및 관리.
- 특징
- 재시작없이 지속적으로 configuration 업데이트
- 다양한 load-balance 알고리즘 제공.
- Dashboard 웹 UI
- Provides metrics (Rest, Prometheus, Datadog, Statsd, InfluxDB)
- ...
- 컨셉
- Edge Router
- request를 인터셉트하여~ path, host, headers... 등등을 기반한 자동적으로 라우팅.
- Auto Service Discovery
- 기존 서비스 라우팅에 필요한 configuration 파일 없이도 스스로 알아서 인지.
- 즉, 특정 ms가 배포 되었을때~ 실시간으로 반영이 되는 식의 discovery. (ms 제거도 마찬가지)
- Edge Router
- Traefik Configration 소개
- dynamic configration :
- 동적으로 계속 바뀜 (hot-reloaded)
- 다루어지는 모든 request에 관한 설정들이 다 있음.
- 연동하실 오케스트레이터에 따라 설정방법이 다름.
- static configration :
- 시작시 정해짐 (잘 안바뀌는 요소들)
- 오케스트레이터 연결에 관한 설정을 하고, 수신할 진입접(entrypoints)을 정의하게 됨.
- 3가지 상호 배타적인 설정방법이 있음.
- 1) in a configration file
- 예) traefik --configFile = my.toml 혹은 .yaml
- 2) in the command-line arguments : ...
- 3) as environment variables : ...
- 1) in a configration file
- dynamic configration :
- ...
- 실습 예 : https://www.joinc.co.kr/w/man/12/traefik 참고
- ...
-끝-
'Server System' 카테고리의 다른 글
D-Bus (0) | 2023.07.20 |
---|---|
IPC (프로세스 간 통신) (0) | 2021.04.24 |
WSGI 와 gunicorn (및 gevent) (0) | 2020.11.09 |
simpleproxy (0) | 2019.11.10 |
명령어 (작성중...) (0) | 2019.11.04 |