네트워킹 개요
목적
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 퍼블릭 IP | Lumie의 도메인 해 석과 퍼블릭 진입점 |
| Layer-4 ingress | Terraform의 OCI NLB | TCP 443을 worker 노드 또는 Teleport NodePort로 전달 |
| Layer-7 ingress | k3s 번들 Traefik + 저장소 패치 | 호스트/경로 라우팅, TLS 종료, Traefik middleware |
| 인증서 자동화 | cert-manager + ClusterIssuer 리소스 | ACME 발급과 TLS 시크릿 관리 |
| 클러스터 DNS | 저장소가 관리하는 DaemonSet을 가진 CoreDNS addon | 클러스터 내부 서비스 디스커버리 |
| 레거시 edge 아티팩트 | bootstrap/kong/ | 활성 경로가 아닌, 저장소에만 남아 있는 Kong 구성 |
런타임 흐름
활성 네트워킹 모델
현재 활성 런타임 경로는 다음과 같습니다.
- Cloudflare가 퍼블릭 호스트명을 OCI 예약 퍼블릭 IP로 해석합니다.
- OCI NLB가 TLS를 종료하지 않고 TCP
443을 worker private IP로 전달합니다. - worker의 Traefik이 SNI 기준으로 TLS를 종료하고 class가
traefik인Ingress오브젝트를 평가합니다. - 선택적으로 Traefik
Middleware가/api접두사를 제거하거나 리디렉션을 수행합니다. - 선택된 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 CDkong애플리케이션은 존재하지 않습니다.
bootstrap/kong/은 활성 edge가 아니라 레거시 참고 자료로 취급하세요.
장애 지점
| 장애 지점 | 영향 |
|---|---|
| OCI NLB 예약 IP 분리 | 트래픽이 클러스터에 도달하기도 전에 퍼블릭 HTTPS가 끊김 |
| TLS 시크릿 누락 또는 잘못된 issuer | 해당 호스트명에서 Traefik이 잘못된 인증서 동작으로 fallback |
| CoreDNS DaemonSet 또는 ConfigMap 드리프트 | 인클러스터 이름 해석이 느려지거나 깨짐 |
| Middleware 오구성 | 백엔드 서비스가 잘못된 요청 경로를 받음 |
| Kong 아티팩트를 활성 구성으로 오인 | 운영자가 잘못된 ingress 스택을 디버깅하게 됨 |