목록 보기
Istio 3-1편: 503과 Half-open Connection
데브옵스

Istio 3-1편: 503과 Half-open Connection

채널톡
채널톡
2026년 6월 26일

두줄요약

Istio Ambient mode에서 Pod IP 재사용과 stale connection 재사용이 겹쳐 간헐적 503이 발생했습니다. 로그와 pcap, socket을 교차 검증하고 reset retry로 증상을 완화했습니다.

문제 상황

  • Istio Ambient mode에서 워크로드 재시작·배포 시 간헐적 503 응답 발생
  • public gateway와 waypoint 로그를 추적한 결과, 실제 503 생성 지점은 waypoint의 upstream reset
  • ztunnel과 istio-cni에는 이상 로그가 없어 connection 끊김 지점을 추가 검증 필요

원인 분석

  • destination Pod 삭제 후 IP가 재사용되며 Envoy가 기존 HTTP/2 HBONE connection을 stale 상태로 재사용
  • ztunnel이 종료 시 connection을 graceful하게 닫지 않아 waypoint가 죽은 connection을 인지하지 못함
  • waypoint는 IP:Port 기준 connection pool을 사용해 같은 목적지로 오인

해결 방법

  • waypoint debug 로그, destination Pod tcpdump, socket 상태로 stale connection 재사용을 교차 검증
  • 근본적으로는 connection key를 IP:Port에서 Pod 식별자까지 확장하거나 종료 시 connection 정리 필요
  • 즉시 대응으로 reset에 대한 retry를 추가해 503 전파를 완화

주의할 점

  • retry는 근본 해결이 아니라 증상 완화
  • reset retry는 OOM, 크래시 등 다른 원인에도 동작할 수 있어 멱등성 확인 필요

댓글 0

댓글을 작성하려면 로그인이 필요합니다.

댓글을 불러오는 중...