• 돌아가기
  • 아래로
  • 위로
  • 목록
  • 댓글
잡담

Docker 환경에서 Traefik도 나쁘지 않네요.

ExpBox ExpBox 540

0

9

대신에 label과 command 줄이 엄청 늘어나서 docker-compose가 강제적으로 필요하다는 것 빼고는요. Cloudflare 도메인 와일드카드 인증서도 정상적으로 Let's Encrypt로 발급됩니다. 또한 인증시스템인 Authelia도 정상적으로 작동하구요.

 

전에 언급했던 haproxy의 경우에는 haproxy 데몬을 재시작해야 적용되기 때문에 새로운 서비스를 개시하려면 easy-haproxy 컨테이너를 재시작해야하는 문제가 있습니다. 여기서 Traefik의 장점이 나오는데, 굳이 재시작하지 않아도 컨테이너에 label만 정확하게 설정되어있다면 무중단으로 컨테이너를 올리는 즉시 바로 서비스를 올릴 수 있다는겁니다.

 

처음 command 항목와 label을 설정하는게 약간 복잡했지만 다른 곳에서 잘 설명되어있는걸 복붙하니까 설정 잘 되더라구요. 조만간에 글을 올리겠지만 아래의 글(영문)을 통해 설정했습니다. 혹시나 Traefik에 관심있으신 분들은 확인해보시고 설정해보시는것도 괜찮을 것 같습니다.

 

https://major.io/2021/08/16/wildcard-letsencrypt-certificates-traefik-cloudflare/

 

추가로 아래의 글은 Traefik을 사용하여 Authelia 설정하는 방법입니다.

 

https://www.authelia.com/integration/proxies/traefik/

신고공유스크랩
9
1등
콜라 2022.08.31. 18:41

저는 ha proxy를 사용해보지 않았지만..

리버스 프록시 용도로 사용한다고 가정했을 때, npm 대비 장점이 크게 안느껴지더라구요.

HA proxy를 사용하다가 바꾸셨다는 것을 보아

저의 환경과 다르신 것 같고, 그렇기에 저와 달리 불편함이 없으실 가능성이 높아보이긴 합니다.

 

결정적으로 서브 도메인을 바꾸려면 컴포즈 파일의 label을 변경해야 하는데

레이블을 변경하고 compose up을 해버리면, 삭제 및 재생성 후 실행이 된다는 것입니다.

 

npm은 서브 도메인 변경 후에 적용을 누르면 0.1초 미만의 끊김이 발생하지만

traefik은 컨테이너에 따라 2분 간 중단 될 수 있죠.

그래서 label의 변경을 최소화 하려고 라우터의 이름만 docker compose에서 정의하고

그 라우터에서 사용하는 미들 웨어, 서비스, 라우터에 대한 설정(도메인 주소나, tls 등)은 파일에서 정의 하려고 해보았습니다만,

이름이 같아도 파일에서 정의하는 값과 독커 레이블에 정의된 값은 별개로 작동하더군요.

 

컴포즈에서 nginxrouter라는 이름의 라우터를 생성하고

파일에서 traefik.http.routers.nginxrouter.rule=Host(`도메인`)로 해당 라우터의 속성을 설정하지 못했습니다.(파일에서는 yaml 구조로 yml로 썼습니다.그 형식대로 작성하면 댓글이 길어질까 한줄로 표기했을 뿐입니다)

 

결국 컨테이너 변경 없이 라우터만 변경하려고 하면 npm보다 압도적으로 긴 시간동안 중단이 발생합니다.

 

traefik은 결국 오토스케일링이 겸해져서 순차적 업데이트(rolling update)가 이루어져야하는 것 같더라구요.

HA proxy 를 사용하다가 넘어왔다고 하셨으니, ExpBox님은 이에 해당하실 것이라고 예상되긴 합니다.

profile image
ExpBox 글쓴이 2022.08.31. 19:46
콜라

사실 저도 잘 모릅니다. 각 프로그램마다 특성이 다르고 자신에게 맞다면 사용하게 되는것이지요.

 

저는 포트포워딩도 NPM을 통해서 했었습니다. 각 컨테이너에서 expose로 열고 networks를 NPM에 연결하는 느낌입니다. 테스트서버 특성상 계속 포트를 열고 닫는데 이걸 위해서 NPM 컨테이너를 재시작하다보면 가끔 없는 서비스를 라우팅하는 경우가 있습니다.(까먹고 안꺼놓은것이죠.) 이래서 NGINX 특성상 없는 서비스가 있을 경우에는 모든 서비스가 죽어버려서 NPM에 접속을 못해서 설정을 변경하지도 못해서 아예 초기화하고 다시 설정하는 경우도 있었습니다. 그래서 다른걸 찾다보니 HAProxy에 Traefik까지 오게 된겁니다.

 

HAProxy의 경우 haproxy.cfg 파일 하나로만 로드밸런싱을 하다보니 서비스가 늘어아면 관리가 어렵겠더라구요. (NGINX는 각 디렉터리를 생성하고 그 안에 conf 파일이었나.. 그거로 리버스프록시가 가능한 것으로 알고있습니다.) 그래서 구글링했는데 여러개의 cfg파일을 만드는게 가능하지만 제가 원하는 느낌은 아니었습니다. 그래서 다른 프로그램을 찾았습니다.

 

그래서 Traefik을 봤는데 현재는 딱히 문제 없이 바로 리버스 프록시로 정상적으로 접속되더군요. 아마도 제가 아직까지는 많은 서비스를 실행하지 않아서 그럴 수 있습니다. 아마 컨테이너도 10개 내외에 사용하는 사람도 거의 없어서 자주 껐다켰다하며서 테스트용으로 사용할 것 같아서 딱히 문제가 없는 이상은 이대로 사용할 것 같습니다.

profile image 2등
달소 2022.09.01. 14:42

저도 trafik이 ui가 참예쁘고 컨테이너 사용할때 편해보여서 고민하긴했는데,,

아무래도 설정은 눈에보이는 npm이 편하긴하더라구요 ㅠㅠ

profile image
ExpBox 글쓴이 2022.09.01. 21:10
달소

솔직히 설정하는게 NPM이 넘사긴 합니다 ㅎㅎ GUI로 바로바로 하는게 훨씬 좋긴하죠. 아마 본 서버는 NPM을 계속 쓰긴할건데 테스트서버는 좀 Traefik을 계속 쓸 것 같긴합니다 ㅎㅎ

profile image 3등
Intuit 2022.09.02. 11:32

traefik 쓰다가 NPM으로 옮겼습니다.

세세한 설정이나 리다이렉트 옵션, 헤더 옵션 등 다양하고 상세하게 설정 가능한건 좋았고

컨테이너 올릴때 포테이너에서 환경변수 만져주면 적용되는것도 좋았고..

웹페이지에서 현재 상황 한번에 이쁘게 보여주는것도 좋았는데..

 

트레픽 쓰다보면 서비스 올리고 규칙 설정하고 하는걸 매번 터미널에서 작업하는게 좀..

 

사실 홈랩 수준에서 그렇게 뭐 복잡하게 설정할것도 없기도 해서 ㅠ_ㅠ... 

 

NPM에서 cloudflare와 연동해서 CNAME 같은것만 연계 추가할 수 있으면 좋겠네요 ㅎㅎ

profile image
Intuit 2022.09.02. 11:34
Intuit

Traefik 설정할때 저는 이 유튜브 보고 따라하기 했었습니다 ㅎ

 

https://docs.technotim.live/posts/traefik-portainer-ssl/

사다리 2022.09.02. 13:06

대부분 도커로 구성해서... 파일하나짜리 구성이 개인적으로 더 깔끔하기도 하고요.

댓글 쓰기 권한이 없습니다. 로그인

취소 댓글 등록

cmt alert

신고

"님의 댓글"

이 댓글을 신고하시겠습니까?

댓글 삭제

"님의 댓글"

삭제하시겠습니까?


목록

공유

facebooktwitterpinterestbandkakao story
번호 분류 제목 글쓴이 날짜 조회 추천
정보 안녕하세요! 새로 가입했습니다. 5 Razorbacks 8시간 전18:06 70 +1
정보 서버포럼 가입인사겸 저의 홈서버를 소개합니다!! 9 툭툭이 15시간 전11:14 376 +9
잡담 가지고 놀기 좋은걸 찾았습니다. 8 주차장 2일 전17:47 467 +1
3778 오픈소스
image
달소 3시간 전22:53 41 0
3777 정보
image
달소 3시간 전22:48 33 +1
3776 정보
image
Razorbacks 8시간 전18:06 70 +1
3775 질문
normal
맛밥 10시간 전15:34 152 0
3774 정보
image
툭툭이 15시간 전11:14 376 +9
3773 질문
normal
유니파트 1일 전22:09 198 0
3772 질문
image
반투검스 1일 전12:46 68 0
3771 질문
normal
니즛 2일 전00:37 340 0
3770 잡담
image
주차장 2일 전17:47 467 +1
3769 질문
image
양미 2일 전11:16 217 0
3768 질문
normal
주차장 3일 전23:44 172 0
3767 질문
image
surno 4일 전00:56 122 0
3766 질문
image
TANG 4일 전19:14 402 0
3765 질문
image
게르노 5일 전23:55 461 0
3764 질문
normal
very 5일 전09:57 209 0
3763 질문
normal
ljr10 5일 전09:11 86 0
3762 질문
normal
very 6일 전18:04 242 0
3761 가이드
normal
minis 6일 전14:20 156 0
3760 잡담
normal
아나나나나다 24.03.21.12:58 372 0
3759 질문
normal
하핳 24.03.20.14:19 205 0