Istio를 활용하면 Ingress와 Egress Gateway를 통해 내부 서비스 간 트래픽뿐만 아니라 외부로 나가는 트래픽까지 정밀하게 제어할 수 있다. 하지만 이렇게 구성한 트래픽 흐름이 실제로 의도대로 잘 흘러가고 있는지 확인하기란 쉽지 않다. 이를 눈으로 확인할 수 있도록 시각화 도구인 Kiali를 함께 구성하여 E2E(End-to-End) 트래픽 흐름을 시각적으로 검증하는 실습을 진행했다.
external-app에 요청을 보낸다.external-app은 Istio Egress Gateway를 경유하여 외부의 httpbin.org에 요청을 보낸다.samples/addons/ 폴더가 존재한다:curl -L https://istio.io/downloadIstio | ISTIO_VERSION=1.17.2 sh -
cd istio-1.17.2
kubectl apply -f samples/addons/prometheus.yaml
kubectl apply -f samples/addons/kiali.yaml
🛠 만약 Istio 디렉토리를 날렸다면?
Istio 공식 GitHub에서 해당 예제만 따로 가져올 수도 있다:
git clone https://github.com/istio/istio.git
cd istio
# 예제 YAML은 이 경로에 있음
cd samples/addons
kubectl apply -f prometheus.yaml
kubectl apply -f kiali.yaml
실행 후 Kiali 대시보드를 열었다.
istioctl dashboard kiali
웹 브라우저에서 http://localhost:20001로 접속하면 Kiali 콘솔이 나타난다.
Kiali가 트래픽 흐름을 시각화하려면 실제 요청이 발생해야 한다. sleep 또는 외부에서 curl 명령을 통해 다음 명령으로 트래픽을 발생시켰다.
for i in {1..10}; do curl -s http://127.0.0.1/external > /dev/null; done
Kiali → Graph 메뉴로 진입하여 다음 옵션을 선택했다:
egress-test, istio-system, default 모두 선택istio-ingressgateway → external-appexternal-app → istio-egressgatewayistio-egressgateway → httpbin.org요청 횟수 (rps)와 응답 시간, 성공률(%) 등이 선 위에 실시간으로 표시되어 E2E 흐름을 정확히 파악할 수 있었다.
