edge gateway: "APISIX = SafeLine WAF 전용" 표현 정정

kappa 피드백 + kubectl 실측 기반 정정. 이전 기록의 "SafeLine WAF 전용 리버스
프록시" 또는 "SafeLine WAF 전용" 표현은 오해의 소지가 있음.

실측 사실 (2026-04-10 kubectl get svc + ApisixRoute + HTTPRoute):
- APISIX (svc apisix-gateway): MetalLB VIP 192.168.9.50, gateway 80/443 +
  admin 9180. 독립 LoadBalancer. Deployment replica 2.
  ApisixRoute 1건: juiceshop/juiceshop → juiceshop.keepanker.cv → juiceshop
  svc (chaitin-waf plugin 으로 SafeLine 통합 테스트)
- Traefik (svc traefik): MetalLB VIP 192.168.9.53, 80/443.
  HTTPRoute 14건 (argocd/gitea/grafana/n8n/nocodb/sftpgo/openmemory/searxng/
  kroki/safeline-mgt/vault-ui + api/namecheap + api/vultr + bunnycdn-mcp)
  + 5 legacy IngressRoute (vlogs/outline/vault-mcp/vault-mcp-http/bunnycdn-mcp)

→ **두 gateway 는 동등한 병렬 독립 LoadBalancer**. APISIX 는 Traefik 뒤의
리버스 프록시가 아니라 자체 MetalLB VIP 를 가진 별개 외부 인입 채널.
"SafeLine WAF 전용" 이 아니라, 2026-03-25 메인 라우팅이 Traefik 으로 이전된
이후 현재 APISIX route 가 SafeLine 테스트용 1건만 남은 상태일 뿐 — 범용
gateway 로 언제든 새 route 추가 가능.

정정 대상:
- infra/apisix.md — 서울 섹션 헤더/용도/축소 문구
- infra/infra-hosts.md — 게이트웨이 한 줄 요약
- infra/k3s-migration.md — 게이트웨이 열 + Phase 0 + Namespace 표
- infra/gateway-api.md — 전환 이력 2026-03-25 줄
- infra/crowdsec-safeline.md — waf-kr BunnyCDN Pull Zone 섹션 머리말

부수적으로 2026-04-10 에 발견된 heimdall kubectl 부재 문제 해결
(kubectl + helm + kubeconfig 복원) + tofu cloud-init 자동화 추가 —
commit bd5e4cb (ops-agents-tofu).
This commit is contained in:
kappa
2026-04-10 00:36:19 +09:00
parent ae696f3e33
commit fb5a34ebcc
5 changed files with 10 additions and 10 deletions

View File

@@ -35,7 +35,7 @@ tags: [k3s, migration, postgresql, supabase]
| Pod CIDR | 10.42.0.0/16 |
| Service CIDR | 10.43.0.0/16 |
| tls-san | k3s.inouter.com, 192.168.9.135, 100.119.109.41 |
| 게이트웨이 | Traefik (메인, DaemonSet LoadBalancer 192.168.9.53) + APISIX (SafeLine WAF 전용, LB 192.168.9.50) |
| 게이트웨이 | 두 독립 LoadBalancer 병렬: Traefik (DaemonSet, MetalLB 192.168.9.53, 메인 HTTPRoute 라우팅) + APISIX (Deployment replica 2, MetalLB 192.168.9.50, 현재 juiceshop 1 route · chaitin-waf SafeLine 통합) |
| LB | MetalLB L2 (192.168.9.50-59), K3s ServiceLB 비활성화 |
| 스토리지 | Longhorn v1.8.2 |
| 인증서 | cert-manager + Google Trust Services (와일드카드 8개, Reflector) |
@@ -64,7 +64,7 @@ tags: [k3s, migration, postgresql, supabase]
- kr2 첫 server 구성, Supabase PostgreSQL 연결
- cert-manager + 와일드카드 인증서 6개 + Reflector
- Traefik DaemonSet (hostPort 80/443) + Gateway API
- APISIX replica 1 (SafeLine WAF 전용, Ingress Controller 제거)
- APISIX replica 1 (초기엔 SafeLine WAF 테스트 라우트 1건, Ingress Controller 제거). 2026-04-04 에 replica 2 HA 로 확장
- HAProxy 80/443 → Traefik hostPort 복원
- Longhorn v1.8.2
@@ -104,7 +104,7 @@ tags: [k3s, migration, postgresql, supabase]
| Namespace | 서비스 | 비고 |
|-----------|--------|------|
| kube-system | Traefik (LB .53) | 메인 라우팅 |
| apisix | APISIX (LB .50) | SafeLine WAF 전용 |
| apisix | APISIX (LB .50) | 독립 외부 gateway (Traefik 과 병렬). 현재 route juiceshop 1건 (SafeLine 통합 테스트) |
| sshpiper | sshpiper (LB .51) | SSH 리버스 프록시 |
| teleport | Teleport (LB .52) | 접근 관리 |
| metallb-system | MetalLB | L2 LB |