34 lines
1.4 KiB
Markdown
34 lines
1.4 KiB
Markdown
# ADR 0006: Gateway API first, Istio deferred
|
|
|
|
Status: accepted
|
|
|
|
현재 단일 노드 K3s와 auth/api 중심 workload에는 service mesh 운영 비용을
|
|
정당화할 mTLS identity, L7 authorization, canary traffic policy 또는
|
|
multi-team 요구가 없다. 이번 개편에는 Istio를 설치하지 않는다.
|
|
|
|
선행 작업:
|
|
|
|
1. Traefik Gateway API provider와 GatewayClass 검증
|
|
2. Ingress를 Gateway/HTTPRoute로 이관
|
|
3. north-south TLS
|
|
4. 내부 호출의 ingress hairpin 제거
|
|
5. Vault/PostgreSQL native TLS
|
|
6. NetworkPolicy regression test와 observability/SLO
|
|
|
|
Istio 요구가 실제화되면 sidecar가 아니라 ambient mode로 제한 pilot한다.
|
|
초기 범위는 api-server와 auth-server이며 Vault, Vault injector,
|
|
PostgreSQL은 제외한다. ztunnel L4부터 시작하고 L7 정책이 필요할 때만
|
|
waypoint를 추가한다.
|
|
|
|
다음 기능 요구 중 두 개 이상과 운영 선행조건이 모두 충족될 때 ADR을
|
|
재검토한다.
|
|
|
|
- ServiceAccount identity 기반 east-west mTLS
|
|
- path/JWT 기반 L7 authorization
|
|
- canary traffic split/retry/timeout/outlier detection
|
|
- 지속적인 서비스·namespace·팀 증가
|
|
- application instrumentation만으로 해결하기 어려운 장애 분석
|
|
|
|
현재 Ingress를 즉시 제거하지 않는다. TLS, DNS, GatewayClass 계약이
|
|
확정되기 전 가상의 Gateway 설정을 배포하지 않기 위함이다.
|