이번 포스팅에서는 Istio의 Observability(관찰 가능성) 기능을 깊이 있게 살펴보자. 기존에 addon으로 간단히 구성했던 모니터링 도구들은 주로 샘플 실습용 manifest에 불과하며, 실제 운영 환경에서는 별도의 도구 설치와 세부적인 설정이 필요하다. 이번에는 Prometheus, Grafana, Jaeger, Kiali 같은 도구들을 Istio와 연동해 운영 환경에서 어떻게 Observability를 구축할 수 있는지 단계별로 알아본다.1. Istio에서의 observability란?Istio에서의 Observability는 마이크로서비스 환경에서 특히 강력한 역할을 한다. Istio는 각 서비스에 Envoy 프록시를 사이드카로 주입하여, 애플리케이션 코드를 수정하지 않고도 네트워크 트..
이전 포스팅에서는 트래픽이 Ingress Gateway를 거쳐 클러스터 내부로 들어오면, 요청 수준에서 트래픽을 조작하고 어디로 라우팅 할지 세밀하게 제어하는 방법을 다뤘다.하지만 라우팅을 아무리 잘 제어한다고 해도, 현실에서는 여전히 다음과 같은 문제가 항상 발생한다.애플리케이션 오류네트워크 장애예측할 수 없는 시스템 실패이러한 상황은 수작업으로 대응하기엔 너무 빠르고 복잡하다. 그래서 필요한 게 바로, 문제가 발생했을 때 자동으로 대응하는 회복탄력성(resilience) 이다. Istio를 사용하면, 이 모든 복원 기능을 애플리케이션 코드를 수정하지 않고 네트워크 레벨에서 쉽게 적용할 수 있다. 이번 포스팅에서는 Istio의 다양한 회복탄력성 기법들을 어떻게 설정하고 적용하는지 살펴본다클라이언트 측 ..
이전 포스팅에서는 외부 트래픽을 클러스터로 유입시키는 방법(Istio IngressGateway)과, 그 과정에서 고려해야 할 요소들을 살펴봤다. 이번 포스팅에는 클러스터 내부로 들어온 요청이 어떻게 적절한 서비스로 라우팅 되는지에 대해 알아본다. 클러스터 안에 있는 서비스들은 서로 어떻게 통신할까? 또, 클러스터 밖에 있는 다른 서비스와 통신하려면 어떤 경로를 거쳐야 할까?Istio는 VirtualService를 통해 트래픽이 어떤 방식으로 라우팅 될지 애플리케이션 간 트래픽을 개별 요청 단위까지 세밀하게 제어할 수 있다. Istio의 다양한 트래픽 관리 기법에 대해 알아보자. 요청 라우팅(Routing requests with Istio)새로운 코드 배포 리스크 위험 줄이기Blue/Green 배포는 ..
Istio Ingress Gateway 란?Istio에서 Ingress Gateway는 외부에서 들어오는 트래픽을 Mesh 내부로 유입시키는 진입점 역할을 한다.기존 Kubernetes의 Ingress와 비슷한 개념이지만, 더 세밀한 제어와 L7 기반의 트래픽 정책을 지원한다. Istio Ingress Gateway의 동작과 기능에 대해 알아보도록 하자. Istio API vs Kubernetes Gateway APIKubernetes도 최근 Gateway API를 정식 채택하면서, “Gateway”라는 용어가 Kubernetes와 Istio 양쪽에서 다르게 사용되며 혼동을 줄 수 있다. 게다가 게이트웨이의 구현체에 따라 구성 방식이 달라지기 때문에, 어떤 방식으로 정의하고 구성하느냐에 따라 사용 리소스..
지난 포스팅에서는 Envoy Proxy의 기본 개념과 특징에 대해 알아보았다.이번 포스팅에서는 실습을 통해 Envoy가 실제로 어떻게 동작하는지,그리고 Istio에서는 Envoy를 어떤 방식으로 제어하고 구성하는지를 살펴보고, Istio의 동작 원리에 대해 이해해 보자.Envoy 핵심 용어 정리Istio를 학습하면서, 로그 및 설정을 분석하거나 디버깅할 때, Envoy의 개념과 용어를 명확하게 이해하고 있지 않아, 너무 헷갈렸다.Envoy의 핵심 용어들을 먼저 정리해 보도록 하자. 이후 설정 확인이나 트래픽 흐름 분석에서도 훨씬 수월해질 것이다. Upstream vs Downstream• istio-proxy를 기준으로, Upstream은 요청이 향하는 대상(서버), Downstream은 요청을 보낸 주..
Istio in Action 책을 기반으로, CloudNet@ 팀 가시다님의 Istio Hands-on Study 스터디를 정리한 글입니다.Istio 개요서비스 메쉬(Service Mesh)의 등장서비스 메쉬의 필요성은 컨테이너 기술의 발전과 함께 부각되었다. 서비스가 점점 더 작아지고, 그 개수는 늘어나면서 전체 시스템을 모니터링하는 일이 점점 어려워졌다. 특히 서비스 운영 중 발생하는 장애나 병목의 원인을 파악하기 힘든 상황이 자주 발생하게 되었다. 그래서 이러한 문제들을 해결하기 위해 서비스 메쉬가 등장했다. 서비스 메쉬는 옵저버빌리티외에도, 개발자가 서비스 본연의 로직에만 집중할 수 있게 도와주는 역할도 수행한다. 만약 서비스마다 보안(mTLS), 트래픽 제어, 장애 복구, 모니터링 같은 기능을 ..