+
Rancher 1.6설치 와 운영 (Traefik - Ingress 설치 )
Traefik
Træfik은 마이크로 서비스를 쉽게 배치 할 수있게 해주는 HTTP Reverse Proxy 및 로드 밸런서입니다. Træfik은 기존 인프라 구성 요소
(Docker, Swarm 모드, Kubernetes, Marathon, Consul, Etcd, Rancher, Amazon ECS 등)와 통합되며 동적으로 구성됩니다. Træfik은 서비스 레
지스트리 / 오케 스트레이터 API를 청취하여 추가 경로없이 즉시 마이크로 서비스를 외부 세계에 연결할 수 있도록 경로를 생성합니다.
Architecture
- API-Gateway
Architecture
- HTTP request를 HTTPS로 Redirect 및 SSL 인증 처리.
- Backend와는 HTTP로 통신.
Rancher 1.6 + Traefik 적용
Service Flow
- 클러스터 내부 Service를 Traefik을 통해 도메인기반으로 외부와 연결 (with LB)
Install (traefik 설치)
- Rancher1.6의 [CATALOG]에 포함된 Traefik 설치 함.
Traefik 설치를 위한 Config 설정.
사전에 설치대상 Node에 Label ( traefik_lb=true ) 지정 할 것.
배포 대상 Node에 80, 443으로 Public Open된 컨테이너가 있으면 안됨.
- Config 적용전에, 아래 내용을 한번씩 읽어보면 도움이 됩니다.
- 기본 Config 설정
- Choose rancher integration : metadata
- Host label : traefik_lb=true
- Label Name 은 Node쪽 label 과 동일하게 맞춰만 주면 됩니다. (변경 가능)
- Http port : 80 (default : 8080 )
- Https port : 443 (default : 8443)
- Admin port : 8000
- Traefik 설치 완료
- Traefik이 설치된 Node에는 "80","443" Public Port를 사용 할 수 없음.
- 설치 후 [TACK] 정보를 확인해 보면 "80","443","8000" Public Port가 Open되어 있는걸 확인 할수 있습니다.
- 8000포트 부분을 클릭해 보면 아래와 같은 "Traefik Dashboard" 로 이동합니다.
- 차후 모둔 적용이 완료 되면, Frontend 와 Backend 정보가 표시 됩니다.
서비스 적용 - 서비스용 Stack설정 추가 (default 설정)
- Traefik을 적용할 대상 Container (ex web.등)에 아래 설정을 추가
- Label 추가
- Traefik.backend : test_web
- backend 네임 정의
- Traefik.port : 80
- 사용할 포트
- Traefik.frontend.rule : Host:test.com
- frontend 정책 적용 (사용할 도메인 등록)
- Traefik.enable : enable