본문으로 건너뛰기

네트워킹 개요

목적

Lumie의 네트워킹 스택은 OCI 로드 밸런서, K3s addon, 인증서 자동화, 애플리케이션별 ingress 매니페스트에 걸쳐 있습니다. 이 페이지는 트래픽이 클러스터로 들어오는 방식, 내부에서 서비스 이름이 해석되는 방식, 각 계층을 어떤 저장소 경로가 소유하는지 설명하는 overview 문서입니다.

클러스터 토폴로지는 Cluster Overview를, 활성 ingress controller는 Traefik를 참고하세요.

소스 경로

경로역할
lumie-infra/provision/terraform/nlb_0214.tf메인 퍼블릭 HTTPS ingress NLB
lumie-infra/provision/terraform/nlb_teleport_0213.tf별도 Teleport HTTPS ingress NLB
lumie-infra/platform/traefik-config/k3s 번들 Traefik addon 패치
lumie-infra/platform/coredns-config/CoreDNS 워크로드 형태 override
lumie-infra/platform/cert-manager/cert-manager 차트와 Cloudflare 토큰 시크릿 sync
lumie-infra/applications/cluster-bootstrap/manifests/cluster-issuer.yaml공유 ACME issuer
lumie-infra/applications/lumie/**/ingress*.yaml제품 ingress 규칙과 middleware 연결

경계 맵

계층활성 소유자책임
퍼블릭 DNS 및 프록시Cloudflare + Terraform이 만든 OCI 퍼블릭 IPLumie의 도메인 해석과 퍼블릭 진입점
Layer-4 ingressTerraform의 OCI NLBTCP 443을 worker 노드 또는 Teleport NodePort로 전달
Layer-7 ingressk3s 번들 Traefik + 저장소 패치호스트/경로 라우팅, TLS 종료, Traefik middleware
인증서 자동화cert-manager + ClusterIssuer 리소스ACME 발급과 TLS 시크릿 관리
클러스터 DNS저장소가 관리하는 DaemonSet을 가진 CoreDNS addon클러스터 내부 서비스 디스커버리
레거시 edge 아티팩트bootstrap/kong/활성 경로가 아닌, 저장소에만 남아 있는 Kong 구성

런타임 흐름

활성 네트워킹 모델

현재 활성 런타임 경로는 다음과 같습니다.

  1. Cloudflare가 퍼블릭 호스트명을 OCI 예약 퍼블릭 IP로 해석합니다.
  2. OCI NLB가 TLS를 종료하지 않고 TCP 443을 worker private IP로 전달합니다.
  3. worker의 Traefik이 SNI 기준으로 TLS를 종료하고 class가 traefikIngress 오브젝트를 평가합니다.
  4. 선택적으로 Traefik Middleware/api 접두사를 제거하거나 리디렉션을 수행합니다.
  5. 선택된 Kubernetes Service가 트래픽을 pod로 전달합니다.

Teleport는 경로가 분리되어 있습니다. Cloudflare가 전용 NLB를 가리키고, 그 NLB가 TCP 443을 NodePort 30443으로 전달하므로 Traefik을 우회합니다.

TLS 및 DNS 모델

  • 표준 Lumie 도메인은 letsencrypt-prod 또는 letsencrypt-staging을 사용합니다.
  • 화이트라벨 커스텀 도메인은 HTTP 프록시 상태와 무관하게 발급되도록 Cloudflare DNS-01 기반 letsencrypt-customdomain을 사용합니다.
  • CoreDNS는 클러스터 내부의 *.svc.cluster.local 이름을 해석하고, 그 외의 모든 것은 노드 resolver로 전달합니다.

2026년 6월 14일에 확인한 라이브 클러스터에서는 letsencrypt-prod, letsencrypt-staging, letsencrypt-customdomain 세 cluster issuer가 모두 준비 완료 상태였습니다.

운영 메모

  • 개발 클러스터 ingress는 의도적으로 dev.lumie-infra.com에서 API 경로만 제공합니다. 프런트엔드는 로컬에서 실행되므로 bare /404를 반환합니다.
  • Traefik timeout 값은 ingress 경유 대용량 Zot 업로드를 지원하기 위해 클러스터 전역에서 의도적으로 늘려 두었습니다.
  • CoreDNS는 기본 K3s Deployment가 아니라 DaemonSet으로 배포되어 모든 노드가 로컬에서 DNS 응답을 제공합니다.

계약 드리프트

네트워킹에는 저장소와 런타임 간의 큰 드리프트가 하나 있습니다.

  • lumie-infra/README.md는 아직 Kong을 ingress controller로 설명하지만, lumie-infra/AGENTS.md, 제품 ingress 매니페스트, Terraform 주석, 라이브 클러스터는 모두 Traefik이 활성 ingress 경로임을 보여줍니다. 2026년 6월 14일 기준 라이브 kong 네임스페이스나 Argo CD kong 애플리케이션은 존재하지 않습니다.

bootstrap/kong/은 활성 edge가 아니라 레거시 참고 자료로 취급하세요.

장애 지점

장애 지점영향
OCI NLB 예약 IP 분리트래픽이 클러스터에 도달하기도 전에 퍼블릭 HTTPS가 끊김
TLS 시크릿 누락 또는 잘못된 issuer해당 호스트명에서 Traefik이 잘못된 인증서 동작으로 fallback
CoreDNS DaemonSet 또는 ConfigMap 드리프트인클러스터 이름 해석이 느려지거나 깨짐
Middleware 오구성백엔드 서비스가 잘못된 요청 경로를 받음
Kong 아티팩트를 활성 구성으로 오인운영자가 잘못된 ingress 스택을 디버깅하게 됨

검증

kubectl get applications -n argocd
kubectl get clusterissuers
kubectl get pods -n kube-system
rg -n "traefik|ClusterIssuer|ingressClassName|cert-manager.io/cluster-issuer|Middleware" \
lumie-infra/provision/terraform \
lumie-infra/platform \
lumie-infra/applications