Traefik 전환 정리: APISIX→Traefik 메인 라우팅 교체 (2026-03-25)

This commit is contained in:
kappa
2026-03-25 15:20:15 +09:00
parent 96a2728765
commit e916cec273
3 changed files with 54 additions and 82 deletions

View File

@@ -1,44 +1,52 @@
---
title: K3s Gateway API 마이그레이션
updated: 2026-03-22
title: K3s Gateway API — Traefik 메인 라우팅
updated: 2026-03-25
tags: [k3s, traefik, gateway-api]
---
## 개요
K3s Ingress → Gateway API 전환 완료 (2026-03-21). Traefik v3.6.9의 Gateway API provider 사용.
K3s 메인 라우팅을 Traefik이 담당 (2026-03-25 APISIX에서 전환).
## Traefik 설정
### 전환 이력
- 2026-03-21: K3s Ingress → Gateway API 전환 (기존 클러스터, Traefik v3.6.9)
- 2026-03-24: 새 클러스터(kr2)에서 APISIX + Ingress Controller 2.0으로 구성
- 2026-03-25: APISIX Ingress Controller의 Gateway API 플러그인 제한으로 **Traefik으로 교체**
- APISIX는 SafeLine WAF 전용 replica 1로 축소
HelmChartConfig로 Gateway API provider 활성화:
## Traefik 배포 (새 클러스터)
```yaml
providers:
kubernetesGateway:
enabled: true
gateway:
listeners:
web:
namespacePolicy:
from: All
websecure:
port: 8443
protocol: HTTPS
certificateRefs:
- name: wildcard-inouter-com-tls
namespace: cert-manager
namespacePolicy:
from: All
```
- **DaemonSet** (kube-system 네임스페이스)
- hostPort: 80 (HTTP), 443 (HTTPS)
- Gateway API provider 활성화
- TLSStore CRD로 와일드카드 인증서 기본 로드
- 와일드카드 인증서: *.inouter.com, *.anvil.it.com, *.actions.it.com, *.ironclad.it.com, *.keepanker.com, *.servidor.it.com
## Gateway
- GatewayClass: `traefik` (traefik.io/gateway-controller)
- Gateway: `traefik-gateway` (kube-system)
- Listeners: web (HTTP 8000) + websecure (HTTPS 8443)
- TLS: cert-manager의 wildcard-inouter-com-tls 참조
- Listeners: web (HTTP 80) + websecure (HTTPS 443)
- TLS: TLSStore로 기본 인증서, Gateway listener에서 추가 인증서 참조
- ReferenceGrant: cert-manager → kube-system (Secret 참조 허용)
## 서비스 상태 (2026-03-25 전환 완료)
| 서비스 | 도메인 | 상태 |
|--------|--------|------|
| NocoDB | nocodb.inouter.com | 200 ✅ |
| Gitea | gitea.anvil.it.com | 200 ✅ |
| n8n | n8n.inouter.com | 200 ✅ |
| ArgoCD | argocd.inouter.com | 200 ✅ |
| Grafana | grafana.inouter.com | 302 ✅ |
| SearXNG | searxng.inouter.com | 200 ✅ |
| SafeLine | safeline.inouter.com | 200 ✅ |
| Namecheap API | namecheap-api.anvil.it.com | 403 ✅ |
| Vultr API | vultr-api.anvil.it.com | 403 ✅ |
| OpenMemory | mem0.inouter.com | MCP 서버 (웹 응답 없음) |
| BunnyCDN MCP | bunny.inouter.com | MCP 서버 (웹 응답 없음) |
| Gitea Runner | declare successfully ✅ | Tailscale 직접 접속, 와일드카드 인증서 정상 |
## HTTPRoute 목록
| Namespace | Name | Hosts | Port |