IaC/Service Mesh

Istio란?

Somaz 2023. 4. 15. 20:00
728x90
반응형

Overview

오늘은 Service Mesh를 구현할 수 있는 오픈소스 중  하나인 lstio를 공부해볼 예정이다.

 

Service Mesh에 대한 내용은 아래의 포스팅에 정리되어 있다.

2023.03.08 - [IaC/Service Mesh] - Service Mesh vs Api Gateway

 

Service Mesh vs Api Gateway

Overview 오늘은 Service Mesh와 Api Gateway에 대해 공부한 후 둘의 차이점을 알아보려고 한다. Service Mesh란? 개요 Service Mesh는 분산 애플리케이션에서 서비스 간의 통신을 관리하기 위한 인프라스트럭처

somaz.tistory.com


lstio란?

https://istio.io/latest/about/service-mesh/

Istio는 마이크로서비스 아키텍처의 관리, 보안 및 관찰 가능성을 단순화하는 것을 목표로 하는 오픈 소스 Service Mesh 플랫폼이다. C++로 개발된 고성능 프록시 사이드카이다.

2017년에 처음 출시된 Istio는 특히 Kubernetes와 같은 컨테이너화된 환경에서 마이크로 서비스를 배포, 확장 및 유지 관리할 때 발생하는 복잡성을 해결하기 위한 방법으로 Google, IBM 및 Lyft에서 개발하였다.

 


Istio의 주요 기능

 

트래픽 관리(Traffic Management)

  • Istio는 마이크로서비스의 트래픽 라우팅, 로드 밸런싱 및 복원력에 대한 세밀한 제어를 제공한다. A/B 테스트, 카나리아 배포, 오류 주입과 같은 기능을 사용하여 애플리케이션의 복원력을 테스트할 수 있다.

 

보안(Security)

  • Istio는 서비스 간 통신 암호화를 위한 상호 TLS(mTLS)를 포함하여 마이크로서비스를 위한 강력한 보안 기능을 제공한다. 또한 서비스에 대한 인증, 권한 부여 및 보안 ID 관리를 관리한다.

 

관측 가능성(Observability)

  • Istio는 내장된 원격 측정, 로깅 및 모니터링 기능을 제공하여 마이크로서비스의 관측 가능성을 향상시킨다. 서비스에서 메트릭과 추적을 수집하여 개발자와 운영자가 애플리케이션의 성능, 안정성 및 효율성에 대한 통찰력을 얻을 수 있도록 한다.

 

확장성(Extensibility)

  • Istio는 다양한 플러그인과 어댑터를 사용하여 확장 및 사용자 정의할 수 있으므로 조직에서 기존 도구 및 인프라와 통합할 수 있다.

 


 

Istio 구성 요소

 

https://istio.io/latest/docs/ops/deployment/architecture/

Istio에서 Data Plane과 Control Plane은 서비스 메시의 통신, 구성 및 기능을 관리하기 위해 함께 작동하는 두 가지 필수 구성 요소이다.

 


 

Data Plane(데이터 플레인)

 

Data Plane은 서비스 메시의 각 마이크로서비스와 함께 배포되는 지능형 프록시 세트(Istio에서는 Envoy 프록시임)로 구성된다.이러한 프록시는 마이크로 서비스 간에 들어오고 나가는 모든 네트워크 트래픽을 가로채고 Control Plane에서 제공하는 구성을 기반으로 서비스 메시 내에서 라우팅, 로드 밸런싱 및 통신을 관리한다.

 

Data Plane은 또한 원격 측정 데이터를 수집하고 Control Plane에서 받은 정책을 적용한다.

  1. Control Plane은 운영자 또는 개발자로부터 높은 수준의 구성 및 정책을 받아 처리한다.
  2. 이러한 높은 수준의 구성은 Pilot, Mixer 및 Citadel과 같은 구성 요소에 의해 특정 프록시 구성으로 변환된다.
  3. Data Plane의 Envoy 프록시는 이러한 구성을 수신하여 마이크로서비스 간의 트래픽 흐름에 적용한다.
  4. 또한 Envoy 프록시는 제어 평면 구성 요소의 지시에 따라 원격 측정 데이터를 수집하고 정책을 시행한다

 

Envoy

  • 마이크로서비스 간에 들어오고 나가는 모든 트래픽을 가로채는 고성능 경량 프록시이다. 서비스 메시 내에서 로드 밸런싱, 라우팅 및 통신을 관리한다.

 


Control Plane(컨트롤 플레인)

 

Control Plane은 서비스 메시의 전반적인 동작을 관리하고 구성하는 역할을 한다. 높은 수준의 정책, 트래픽 관리 규칙 및 보안 구성을 처리하고 이를 Data Plane의 프록시에 필요한 특정 구성으로 변환한다. Istio에서 컨트롤 플레인은 다음 구성 요소로 구성된다.

 

 

Pilot

  • 서비스 메시의 동작을 관리하고 구성하는 구성 요소이다. 고급 라우팅 규칙을 Envoy별 구성으로 변환하고 이를 프록시에 전파한다. Pilot이 Mixer 기능까지 함께 수행한다.
  • 트래픽 관리 규칙 및 서비스 검색 정보를 포함하여 서비스 메쉬의 구성을 관리한다.
    • Service Discovery(서비스 검색)
    • Traffic Management(트래픽 관리)
    • Load Balancing(로드 밸런싱)
    • Resilience(복원력)
    • Traffic Splitting(트래픽 분할)
    • Configuring TLS setting(TLS 셋팅)
    • Cross-Platform Support(교차 플랫폼 지원)

 

Mixer(Removed) - Mixer has been removed from the Istio architecture since the release of Istio 1.5

  • 정책 시행 및 원격 측정 수집 구성 요소이다. 액세스 제어, 속도 제한 및 할당량 관리 정책을 적용하고 프록시에서 원격 측정 데이터를 수집한다.

 

Citadel

  • 서비스 간 통신을 위한 인증서 관리를 제공하여 상호 TLS 인증을 가능하게 하는 보안 구성 요소이다.

 

Galley

  • Istio의 구성 데이터를 관리하고 서비스 메시 전체에서 일관성을 유지하는 구성 유효성 검사 및 배포 구성 요소이다.
  • Istio configuration을 체크하고 yaml 파일을 Istio가 읽을 수 있게 변환시켜준다.

Reference

istio 아키텍처

istio란? IBM

istio 정리 참고 블로그

 

728x90
반응형

'IaC > Service Mesh' 카테고리의 다른 글

Istio 설치 및 실습  (0) 2024.02.13
Service Mesh vs Api Gateway  (0) 2023.03.08