상현에 하루하루

traefik

traefik ingress cert-manger 조합에서 traefik만 사용하는 방법으로 변경

echo-server-ingress.yaml 파일을 traefik의 리소스인 ingressRoute로 변경한다. cert-manager traefik에서 관리하도록 변경 tls-issuer.yaml tls-cert.yaml 두가지에서 만든 issuer랑 Certificate 리소스는 제거해주면된다. Certificate 리소스는 특별히 TLS 인증서를 관리하는데 사용되지만 ingressRoute에서 발급자를 구성하는데는 필요하지 않다. IngressRoute의 tls 섹션에서 참조하는 발급자는 TLS 인증서를 얻고 관리하는 방법을 지정하는데 사용됩니다. 별도로 정의한 발급자 또는 ClusterIssuer 리소스를 참조할 수 있습니다. 아니었다. cert-manager는 필요없다 docker-compose의 … Continued

wordpress & traefik ForwardAuth 인증하기

워드프레스의 파일에 권한을 설정하기 위해서 손쉬운 방법을 찾다가 백엔드에서 적용하는 것보다 traefik으로 미들웨어로 관리하는게 더욱 손쉽게 구성하고 관리할 수 있을 것같아서 traefik의 ForwardAuth를 이용한 인증을 구현하는 방법을 알아보려 합니다. wordpress 커스텀 인증 워드프레스의 커스텀한 인증 페이지를 우선 구성한다. 이렇게 설정하면 url/admin_check 페이지로 접근하였을때 administrator 권한이있다면 해당 홈페이지가 열릴것이고 권한이 없다면 /404 페이지로 이동하면서 status코드가 404를 … Continued

traefik v2 서비스 여러 포트 바인딩, 연결

traefik(2.x)으로 서비스를 개방해서 연결하는 것은 아주 간단하고 손쉬웠습니다. 하지만 그렇다면 여러개의 포트를 사용하는 서비스는 어떻게 연결해야할까? whoami-svc1.localhost ➡️ whoami:9000 whoami-svc2.localhost ➡️ whoami:9001 위처럼 whoami 서비스를 만들면서 하나의 서비스에 2가지 포트를 개방해야하는 경우 traefik 2.x의 라우터 및 서비스는 도커 레이블을 사용하여 원하는 명명 규칙을 사용하여 동적으로 만들 수 있습니다. 위 설정에서 whoami-1과 whoami-2 라우터에 서비스명을 기본값을 … Continued

docker-swarm에서 Traefik으로 운영하는 WordPress에 Redis를 적용해보자

워드프레스를 운영하면서 몇가지 불편한점들이 있었다. 워드프레스를 엔드 유저에게 서비스하는 것은 워드프레스에서 정적으로 배포하는 부분을 캐싱하는 것으로 만족스럽게 사용하고있었다. 나는 워드프레스 캐싱을 WP Rocket으로 하고있다. 이 부분에 대해서는 만족스럽게 사용하고있었지만 이제 운영하는 관리자 입장에서 로그인을 하면 모든 페이지가 캐싱이 되지않게 로드한다. 그래서 이때 게시글을 확인하거나 관리자 대시보드에서 답답함을 느끼게 된다. 그럼 이 것을 어떻게 해결할 수 … Continued

traefik swarm 모드 설정

1개의 머신으로 treafik을 구성해서 사용하다가 홈 네으트워크 인프라가 2개의 머신으로 변경되면서 swarm으로 docker를 관리하게 되었습니다. 기존의 설정으로 traefik 컨테이너는 정상적으로 작동하지 않았는데 swarm에서 traefik을 구성을 해보면서 얻은 경험을 정리해보았습니다.

Traefik OAuth

TL;DR 위처럼 설정하면 된다. 실제로 사용한예시 fauth를 미들웨어로 추가하고 해당 미들웨어를 Google OAuth를 적용할 컨테이너의 미들웨어로 추가해주면 된다. 그러면 Google OAuth를 인증받고 해당 라우트로 들어갈 수 있다. issue) White list not working 해당 컨테이너의 옵션으로 white list를 넣어서 원하는 인원만 접속할 수 있게하는 옵션이 있는데 해당 옵션이 재대로 작동하지 않는다. https://github.com/Hansanghyeon/synology-traefik/issues/3 발단 https://github.com/Hansanghyeon/synology-traefik/discussions/2 참고

Traefik 커맨드 config 파일로 구성하기

왜? Traefik을 구성하면서 docker-compose.yaml 내부에서 커맨드라인이 너무나 늘어나는 것이다 그러다 보니까 고민이 되었다. 이렇게 작성하면 내가 나중에 잘 알아볼 수 있을까? 그래서 Traefik의 커맨드 설정을 .toml .yaml로 설정하는 방법이 있어서 이 방법으로 커맨드를 옮기려 한다. Let’s go Configuration Introduction – Traefik 공식 홈페이지에서 이 부분을 살펴보면 configuration File은 설정파일의 이름이 traefik.toml(.yml, .yaml)으로 설정 되어있고 해당 … Continued

Traefik docker-compose example & 다른컨테이너 연결

공식 홈페이지의 Getting started 섹션에 docker-compose.yaml 파일이다. 처음에 의문이 들었는데 8080이 Traefik의 대쉬보드 포트이다. 위 설정만으로도 Traefik이 잘 서비스되고있는 것도 확인했고 이제 내가 운영하고 있는 wordpress 컨테이너 또는 다른 컨테이너를 연결할 차례다. wordpress docker-compose 컨테이너 연결 & 도메인 설정 역방향 프록시로 Traefik에서 wordpress container로 어떻게 연결하는 것인가? 이것은 Traefik이 머신의 /var/run/docker.sock을 사용할 수있게 해줬기 때문에 … Continued

Traefik

개인 서버에서 여러개의 docker container로 애플리케이션을 배포하고있다. 그래서 점점 docker ps 로 컨테이너를 살펴보고 하기 어려워져서 모니터링, k8s, kind 등등 여러가지를 살펴보다가 Traefik, prometheus, grafana, portainer 및 oauth2_proxy 이러한 조합을 알게되어서 traefik이 무엇인가 살펴보려한다. Traefik는 오픈소스 Edge Router입니다. 시스템을 대신하여 요청을 수신하고 처리하는 구성요소를 찾습니다. Traefik은 기본적으로 Kubernetes, Docker, Docker Swarm, AWS, Mesos, Marathon과 같은 … Continued