무중단 Hot-reload — Provider가 변경 감지 후 자동 반영, 요청 끊김 없음
예시
kubectl apply -f ingressroute.yaml → 즉시 반영
잘못 쓰면
규칙이 안 생기거나 오래된 규칙 남음 — 하지만 Traefik 프로세스는 살아있음
🧠 대조 사례: 헷갈리는 두 개념을 같은 틀로 나란히 놓으면 경계가 또렷이 인코딩됩니다. "재시작이 언제 필요한가"가 표 한 줄에서 드러납니다.
💭 생각해보기
kind: IngressRoute로 새 규칙을 추가했는데 반영이 안 됩니다. Static config와 Dynamic config 중 어느 쪽 문제일 가능성이 높을까요? 어디를 먼저 확인해야 할까요?
먼저 자신의 답을 떠올려 보세요 — 틀려도 생각 자체가 기억을 만듭니다
Provider가 Static config에 등록되어 있어야 Dynamic config를 읽습니다.
IngressRoute는 Dynamic config입니다. 반영이 안 된다면 먼저 Static config에서 kubernetesCRD Provider가 활성화되어 있는지 확인하세요. Provider가 없으면 Traefik이 IngressRoute를 아예 읽지 않습니다. 다음으로 Traefik 로그에서 파싱 에러를 확인합니다.
🧠 정교화 질문 — Static/Dynamic 분리를 이해하면 "반영 안 됨"의 원인 범위를 즉시 좁힐 수 있습니다.
4Provider — 설정을 어디서 읽나
K8s에서 가장 많이 쓰는 두 Provider를 비교해 보세요. 탭을 클릭하면 전환됩니다.
kubernetes-ingress kind: Ingress (K8s 표준)
kubernetes-crd kind: IngressRoute (Traefik CRD)
리소스
kind: Ingress — K8s 네이티브 표준
설정 방법
어노테이션(traefik.ingress.kubernetes.io/...)으로 Traefik 기능 접근
Middleware
어노테이션으로만 지정 — 표현력 제한적
TCP/UDP
지원 안 됨 (HTTP만)
장점
K8s 표준이라 다른 Ingress Controller로 교체 용이
단점
Traefik 고급 기능(ServersTransport, Middleware 체인 등) 접근 불편
Static config
providers.kubernetesIngress: {}
리소스
kind: IngressRoute, Middleware, ServersTransport 등 Traefik 전용 CRD
설정 방법
YAML spec으로 직접 표현 — 어노테이션 불필요
Middleware
Middleware CRD를 만들고 IngressRoute에서 이름으로 참조
TCP/UDP
IngressRouteTCP, IngressRouteUDP로 지원
장점
Traefik 전 기능 사용 가능, 타입 검증됨, 가독성 높음
단점
Traefik 전용 — 다른 Controller 교체 시 YAML 재작성 필요
Static config
providers.kubernetesCRD: {}
🧠 대조 사례: 같은 틀로 나란히 놓아야 "무엇이 다른가"가 명확히 인코딩됩니다. 어노테이션 방식과 CRD 방식의 경계가 표 한 줄씩에서 드러납니다.
💭 생각해보기
Middleware CRD를 prod 네임스페이스에 strip-prefix라는 이름으로 만들었습니다. default 네임스페이스의 IngressRoute에서 이 Middleware를 참조하려면 어떤 형식으로 써야 할까요?
먼저 자신의 답을 떠올려 보세요 — 틀려도 생각 자체가 기억을 만듭니다
형식: <namespace>-<name>@kubernetescrd
prod-strip-prefix@kubernetescrd
형식: <namespace>-<name>@kubernetescrd. 같은 네임스페이스라면 strip-prefix@kubernetescrd만 써도 되지만, 다른 네임스페이스라면 반드시 네임스페이스 접두어가 필요합니다. 이 형식을 틀리면 "middleware not found" → Router 생성 실패 → 404.
🧠 자기 설명 — 구체적 예를 직접 만들어보면 실수 없이 기억됩니다.
5에러 진단 시뮬레이터
증상을 하나 고르면, 어느 레이어 문제인지 아래에서 위로 짚어드립니다. 고르기 전에 "이건 어느 단계?"를 먼저 예측하세요.
어떤 증상을 만났나요?
404
page not found (text/plain)
502
Bad Gateway
⚠
middleware not found
🧠 인출 연습 + 즉각 피드백: "증상→원인" 매핑을 수동으로 읽는 대신, 선택이라는 인출 행위를 거친 뒤 정답 경로를 봅니다. 테스트 효과 메타분석 g≈0.50.
6능동 회상: 카드 & 퀴즈
먼저 답을 입 밖으로 말해본 뒤 카드를 여세요. 보기 전에 떠올린 0.5초가 기억을 만듭니다.
플래시카드 (클릭해서 정답 확인)
객관식 퀴즈
🧠 인출 연습 + 바람직한 어려움(Bjork): 떠올리기는 재읽기보다 느리고 어렵게 느껴지지만, 그 어려움이 저장 강도를 높입니다. 며칠 뒤 다시 풀면(간격 반복) 효과가 배가됩니다.
7막히면: 레이어별 진단 순서
에러가 나면 아래(기초)에서 위로 한 칸씩 올라가며 확인하세요. 각 칸을 클릭하면 명령어가 나옵니다.
🧠 청킹 + 절차 자동화: 흩어진 명령어를 "1→6 사다리"라는 하나의 절차로 묶으면, 다음에 막혔을 때 개별 명령이 아니라 "순서"라는 단일 단위로 인출됩니다.