Istio 소개

Istio는 마이크로서비스 간 데이터 공유를 제어하는 기반을 제공하는 오픈소스 서비스 메쉬 플랫폼입니다. 여기에는 Istio를 모든 로깅 플랫폼, 텔레메트리 또는 정책 시스템으로 통합하도록 지원하는 API가 포함됩니다. Istio는 온프레미스, 클라우드 호스팅, 쿠버네티스 컨테이너, 가상 머신에서 실행되는 서비스 등 다양한 환경에서 구동되도록 설계되었습니다.

Istio 아키텍처는 데이터 플레인 및 컨트롤 플레인으로 분류됩니다.

데이터 플레인에서는 조직 환경 내에 sidecar 프록시를 배포하여 Istio 지원이 서비스에 추가됩니다. 이 sidecar 프록시는 마이크로서비스와 나란히 위치하며 다른 프록시에서의 요청을 라우팅합니다. 이러한 프록시는 마이크로서비스 간 네트워크 통신을 가로채는 메쉬 네트워크를 형성합니다. 컨트롤 플레인은 프록시를 관리 및 설정하여 트래픽을 라우팅하며, 구성 요소를 설정하여 정책을 실행하고 텔레메트리를 수집합니다.

Istio와 같은 서비스 메쉬를 활용하면 개발 및 운영 팀이 모놀리식 애플리케이션에서 탄력적으로 결합된 소규모의 독립적인 마이크로서비스 애플리케이션인 클라우드 네이티브 애플리케이션으로 보다 효과적으로 전환할 수 있는 역량을 갖추게 됩니다. Istio는 서비스 메쉬와 여기에서 지원되는 마이크로서비스에 대한 행동 기반 인사이트와 운영 제어 기능을 제공합니다. 서비스 메쉬를 사용하면 배포의 복잡성이 줄어들고 개발 팀의 업무 부담을 줄일 수 있습니다. 다음과 같은 Istio의 기능을 활용하여 분산된 마이크로서비스 아키텍처를 실행할 수 있습니다.

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

  • 보안 - Istio는 기본 통신 채널을 제공하고 스케일에 따른 인증, 권한 부여 및 서비스 통신 암호화를 관리합니다. Istio를 활용하면 애플리케이션 변경을 최소화하면서 여러 프로토콜 및 런타임 전반에서 정책을 일관되게 실행할 수 있습니다. Istio와 쿠버네티스(또는 인프라) 네트워크 정책을 함께 사용하면 네트워크 및 애플리케이션 레이어에서 포드(pod) 간 또는 서비스 간 커뮤니케이션을 보안할 수 있습니다.

  • 관찰 가능성 - Istio의 추적, 모니터링 및 로깅 기능을 통해 서비스 메쉬 배포 환경에 대한 인사이트를 확보할 수 있습니다. 모니터링을 통해 서비스 활동이 성능 업스트림 및 다운스트림에 어떻게 영향을 미치는지 파악할 수 있습니다. 커스텀 대시보드를 통해 모든 서비스의 성능을 확인할 수 있습니다.

Last updated