CloudNet@ 가시다님이 진행하는 Istio 스터디 1기 - 1주차 정리 내용 입니다.
📌서비스 메시
서비스 메시란?
애플리케이션 대신 프로세스 외부에서 투명하게 네트워크 트래픽을 처리하는 분산형 애플리케이션 인프라를 뜻합니다.
🛠️서비스 메시가 생기게 된 배경
기존 모놀리식 아키텍처에서 마이크로서비스로의 전환이 많이 되다보니, 서비스 간 통신의 복잡성이 많이 증가하였습니다.
ex)
- 서비스 검색(Service Discovery)
- 로드 밸런싱
- 장애 처리(Retry, Circuit Breaking)
- 보안(인증/인가, mTLS)
- 모니터링 및 트래픽 추적(Observability)
따라서 이러한 문제들을 해결하기 위해 서비스 메시가 등장하였습니다.
이제 Istio에 대해 알아보도록 하겠습니다.
Istio(이스티오) : 서비스 메시의 오픈소스 구현체
이스티오는 서비스 메시의 오픈소스 구현체 입니다.
이스티오를 사용하면 대부분의 경우 애플리케이션 코드를 수정하지 않고도
보안, 정책 관리, 관찰 가능성과 같은 어려운 문제를 해결할 수 있고,
신뢰성 있고 안전한 클라우드 네이티브 시스템을 구축할 수 있습니다.
❗즉, 개발자는 비즈니스 로직만 집중해서 개발을 하고 나머지는 인프라 구성에서 해결 할 수 있습니다.
이제 Istio의 구조에 대해 알아보도록 하겠습니다.
Istio 구성과 동작 방식 알아보기
🧱Istio의 구성요소

✅ Control Plane:
Istiod라는 핵심 컴포넌트를 중심으로 구성되며, 다음과 같은 역할을 수행합니다:
- 서비스 디스커버리
- 트래픽 정책 전달
- 인증/인가
- 사이드카 프록시 설정 전파
✅ Data Plane:
각 서비스 옆에 붙는 Envoy Proxy들이 구성되며, 이들은 다음을 수행합니다:
- 서비스 간 통신 가로채기
- 트래픽 분기 및 제어 (예: Canary 배포)
- TLS 암호화
- 모니터링 및 로깅 정보 수집
추가적으로, Istio Gateway를 통해 외부 트래픽의 진입/출입을 관리하고, Observability(가시성)를 위해 OpenTracing, Prometheus, Grafana 등과 연동됩니다.
그리고 istiod 안의 구성 요소를 더 살펴보면 아래와 같습니다.

- 파일럿(Pilot): 모든 Envoy 사이드카에서 프록시 라우팅 규칙을 관리하며, 서비스 디스커버리와 로드 밸런싱 설정을 제공합니다.
- 갤리(Galley): Istio와 쿠버네티스(TLS 연결 및 파일럿에 필요한 설정)를 연결해 주는 역할을 합니다. 서비스 메시 구성 데이터를 검증하고 변환합니다.
- 시타델(Citadel): 보안 기능을 담당하며, TLS 인증서 발급 및 관리를 통해 서비스 간 통신의 암호화를 수행합니다.
이제 어떻게 동작되는 지 알아보도록 하겠습니다.
🧱Istio의 동작방식

🔍단계별 설명
1️⃣ 외부 요청 진입
- 트래픽이 먼저 Istio Gateway를 통해 클러스터로 진입
2️⃣ Gateway → 내부 서비스로 트래픽 전달
- Shopping Cart 로 트래픽 이동. 이 때, Envoy 사이드카 프록시를 먼저 통과
- 프록시에서는 타임아웃, 메트릭 수집, 보안 강제 등을 적용할 수 있습니다.
- 또한, Envoy 프록시에서는 전송 룰을 설정하여 어디로 트래픽을 보낼 지 결정 할 수 있습니다.
3️⃣ 서비스 간 호출
- Shopping Cart 는 다른 마이크로서비스인 Pricing, Tax 를 요청
- 요쳥이 다양한 서비스를 거치므로, 이스티오의 Envoy 사이드카 프록시는 다양한 단계에서 요청을 가로채고 라우팅 결정을 내릴 수 있습니다.
- 이미지에서 보면 Tax 서비스가 v1.0, v1.1 두가지 버전 중 원하는 버전으로 라우팅 할 수 있습니다.
4️⃣ Istiod (Control Plane)
- 모든 프록시는 중앙 컨트롤러인 istiod로 부터 설정을 받아 동작합니다.
- istiod는 라우팅, 보안, 텔레메트릭 수집, 복원력을 처리하는 이스티오 프로식를 설정하는데 사용됩니다.
5️⃣ 관측 데이터 수집
- 요청 메트릭은 주기적으로 다양한 수집 서비스로 전송됩니다.
- 분산 트레이싱 스팬은 트레이싱 저장소로 전송돼 시스템을 거치는 요청의 경로 및 지연 시간을 추후에 추적하는 용도로 사용됩니다.
다음 글에서는 Istio 실습을 해보도록 하겠습니다.
감사합니다.
'스터디 > Istio' 카테고리의 다른 글
Istio 알아보기 - 1주차 <Istio 실습 해보기> (1) | 2025.04.09 |
---|