ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Istio] Istio란?
    인프라&운영체제/Istio 2022. 1. 28. 12:50

    Istio 마이크로서비스 간 데이터 공유를 제어하는 기반을 제공하는 오픈소스 서비스 메쉬 플랫폼이다.

     

    서비스 메쉬란?

    애플리케이션의 다양한 부분들이 서로 데이터를 공유하는 방식을 제어하는 방법이다.

    서비스 간 커뮤니케이션을 관리하는 다른 시스템들과 달리, 서비스 메쉬는 애플리케이션에 구축된 전용 인프라 계층을 말한다. 

     

    서비스 메쉬는 애플리케이션 간 통신을 위해 프록시 방식으로 구축되는데,

    서비스 메쉬에서는 아래처럼 요청이 자체 인프라 계층의 프록시를 통해 마이크로서비스 간에 라우팅된다.

     

     

    그래서 서비스 메쉬를 구성하는 개별 프록시는 서비스 내부가 아니라 각 서비스와 함께 실행되므로 'sidecar'라고도 불린다.

     

     

    서비스가 직접 서비스 간에 커뮤니케이션 통신을 통제하는 코딩을 직접하지 않아도 되기 때문에 개발자는 비즈니스 로직에 더욱 집중 할 수 있다.

     

    서비스 메쉬에 대해 더 자세히 보고 싶다면 Click


    Istio 아키텍쳐

    Data Plane

    sidecar 프록시를 배포하여 istio 기능을 지원한다.

    이 sidecar 프록시는 위의 그림처럼 마이크로 서비스와 나란히 위치하며 다른 프록시에서의 요청을 라우팅한다 

    이러한 프록시는 마이크로서비스 간 네트워크 통신을 가로채는 메쉬 네트워크를 형성한다. 

    아래처럼 파드 내부의 앱 count가 1/1이 아닌 2/2인 이유는 sidecar 프록시가 동시에 떠있기 때문이다.

     

    이러한 프록시를 istio에서는 envoy proxy라고 부른다.

     

    Control Plane

    컨트롤 플레인은 프록시를 관리 및 설정하여 트래픽을 라우팅하며, 구성 요소를 설정하여 정책을 실행하고 텔레메트리를 수집한다.

    이러한 역할은 istio에서 istiod가 수행한다.

     


    Istio concepts(혹은 핵심 기능)

    traffic management(트래픽 관리)

    Istio에서의 트래픽 라우팅 및 룰 설정을 통해 서비스 간 트래픽 흐름 및 API 호출을 제어할 수 있다.

     

    Observability(관찰 가능성)

    Istio의 추적, 모니터링 및 로깅 기능을 통해 서비스 메쉬 배포 환경에 대한 인사이트를 확보할 수 있다.

    모니터링을 통해 서비스 활동이 성능 업스트림 및 다운스트림에 어떻게 영향을 미치는지 파악할 수 있다.

    커스텀 대시보드(대표적으로 kiali)를 통해 모든 서비스의 성능을 확인할 수 있다.

     

    Security capabilities(보안)

    기본 통신 채널을 제공하고 스케일에 따른 인증, 권한 부여 및 서비스 통신 암호화를 관리한다.

    Istio를 활용하면 애플리케이션 변경을 최소화하면서 여러 프로토콜 및 런타임 전반에서 정책을 일관되게 실행할 수 있다.

    Istio와 쿠버네티스(또는 인프라) 네트워크 정책을 함께 사용하면 네트워크 및 애플리케이션 레이어에서 포드(pod) 간 또는 서비스 간 커뮤니케이션을 보안할 수 있다.

     

    출처

Designed by Tistory.