핵심 요약
사이드카 패턴이 부담스러워 Linkerd 2.16(Rust-based proxy)에서 Istio Ambient(node-level ztunnel)로 6개월 마이그레이션. 노드당 메모리 -41%, mTLS 그대로, 텔레메트리 자동. 단 L7 정책은 별도 waypoint 필요.
1. Ambient 핵심 — 사이드카 제거
- ztunnel: 노드당 1개 daemonset이 모든 Pod 트래픽 처리
- HBONE: HTTP-based Overlay Network Environment, mTLS over HTTP
- Waypoint Proxy: L7 정책 필요한 워크로드에만 배치
- Pod에 sidecar inject 안 함 → Pod 시작 시간 -1.4s
2. 마이그레이션 단계
- Istio Ambient 설치 (kubectl + ambient profile)
- 네임스페이스별 ambient mode label 적용
- Linkerd 사이드카 점진 제거 (1주에 5개 워크로드씩)
- L7 정책 필요한 워크로드에 waypoint 배치
- Linkerd 완전 제거
3. 비교 — 같은 클러스터(120 노드)
| 지표 | Linkerd 2.16 | Istio Ambient |
|---|---|---|
| 노드당 메모리 | 1.2GB(sidecar 합) | 420MB(ztunnel) |
| Pod 시작 시간 | 3.4s | 2.0s |
| p99 mesh 지연 | 0.8ms | 1.1ms |
| config 복잡도 | 단순 | 중간(waypoint 추가) |
4. 함정
- L4 vs L7 분리 — Ambient ztunnel은 L4 mTLS만, L7 정책은 waypoint 별도 배치 필수
- CNI 호환 — Calico, Cilium과 일부 충돌. Cilium 1.18+에서 ztunnel 정상 동작 확인
- mTLS 인증서 — Linkerd identity와 Istio identity 다름, migration window에 trust bundle 통합
- Linkerd viz dashboard → Istio Kiali — UI 익숙해지는 데 2주 적응 기간

댓글 0