스터디/Istio

Istio 알아보기 - 1주차 <서비스 메시와 Istio>

황동리 2025. 4. 7. 16:11
반응형

CloudNet@ 가시다님이 진행하는 Istio 스터디 1기 - 1주차 정리 내용 입니다.

📌서비스 메시

서비스 메시란?

 

애플리케이션 대신 프로세스 외부에서 투명하게 네트워크 트래픽을 처리하는 분산형 애플리케이션 인프라를 뜻합니다.

🛠️서비스 메시가 생기게 된 배경

기존 모놀리식 아키텍처에서 마이크로서비스로의 전환이 많이 되다보니, 서비스 간 통신의 복잡성이 많이 증가하였습니다.

 

ex)

  • 서비스 검색(Service Discovery)
  • 로드 밸런싱
  • 장애 처리(Retry, Circuit Breaking)
  • 보안(인증/인가, mTLS)
  • 모니터링 및 트래픽 추적(Observability)

따라서 이러한 문제들을 해결하기 위해 서비스 메시가 등장하였습니다.

 

이제 Istio에 대해 알아보도록 하겠습니다.

Istio(이스티오) : 서비스 메시의 오픈소스 구현체

이스티오는 서비스 메시의 오픈소스 구현체 입니다.

 

이스티오를 사용하면 대부분의 경우 애플리케이션 코드를 수정하지 않고도
보안, 정책 관리, 관찰 가능성과 같은 어려운 문제를 해결할 수 있고,
신뢰성 있고 안전한 클라우드 네이티브 시스템을 구축할 수 있습니다.

❗즉, 개발자는 비즈니스 로직만 집중해서 개발을 하고 나머지는 인프라 구성에서 해결 할 수 있습니다.

 

이제 Istio의 구조에 대해 알아보도록 하겠습니다.

 

Istio 구성과 동작 방식 알아보기

🧱Istio의 구성요소

<출처:   https://istio.io/latest/docs/ops/deployment/architecture/ >

 

✅ Control Plane:
Istiod라는 핵심 컴포넌트를 중심으로 구성되며, 다음과 같은 역할을 수행합니다:

  • 서비스 디스커버리
  • 트래픽 정책 전달
  • 인증/인가
  • 사이드카 프록시 설정 전파

✅ Data Plane:
각 서비스 옆에 붙는 Envoy Proxy들이 구성되며, 이들은 다음을 수행합니다:

  • 서비스 간 통신 가로채기
  • 트래픽 분기 및 제어 (예: Canary 배포)
  • TLS 암호화
  • 모니터링 및 로깅 정보 수집

추가적으로, Istio Gateway를 통해 외부 트래픽의 진입/출입을 관리하고, Observability(가시성)를 위해 OpenTracing, Prometheus, Grafana 등과 연동됩니다.

 

그리고 istiod 안의 구성 요소를 더 살펴보면 아래와 같습니다.

<출처:   https://devlos.tistory.com/100 >

 

  • 파일럿(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