istio는 가상 네트워크
istio는 서비스 메시(service mesh)입니다. 하지만, 처음 서비스 메시를 들으면 무슨 뜻인지 매우 이해하기 어렵습니다. 그래서 저는 istio를 서비스 메시라고 표현하는 것보다, 다른 말로 바꿔서 istio를 해석했습니다.
istio는 “내 마음대로 네트워크를 제어하는 가상 네트워크”입니다. 마음대로 제어하는 의미는 istio컨셉 3가지에서 설명합니다.
기능1. 트래픽 관리(Traffic Management)
istio가 istio네트워크 트래픽을 마음대로 제어하는 것을 트래픽 관리(Traffic Management)라고 합니다. 트래픽 관리는 로드 밸런싱, 서킷 브레이크, 커스텀 HTTP 헤더 추가 등을 지원합니다.
예를 들어보겠습니다. A 서비스와 B 서비스가 있고, B 서비스는 2개 인스턴스로 스케일링되어 있습니다. 이 때, A, B 서비스는 Istio 네트워크에 있습니다.
Istio는 A 서비스 -> B 서비스로 로드 밸런싱 할 때 마음대로 비율을 정할 수 있습니다. 아래 그림은 2:8비율로 로드 밸런싱을 했습니다.
기능2. 옵저빌리티 (Observability)
옵저빌리티는 istio네트워크 안에서 발생하는 트래픽을 추적하고 분석하며 시각화합니다. 어느 구간에서 네트워크 지연이 발생하는지, 장애가 발생하는지 등을 매우 쉽게 발견할 수 있습니다.
추적하고 분석한 결과는 아래 그림처럼 시각화됩니다.
기능3. 보안(Security)
보안은 istio 네트워크에서 발생하는 트래픽을 보호하고 트래픽을 승인/거부할 수 있습니다. TLS 또는 MTLS을 적용하며 istio 네트워크 발생하는 모든 트래픽을 암호화합니다. 그리고 원치 않은 트래픽은 거부할 수 있도록 트래픽 권한을 설정할 수 있습니다.
'전공영역 공부 기록' 카테고리의 다른 글
Copilot을 이용한 소스코드 분석 (0) | 2023.10.29 |
---|---|
Argocd가 겪는 문제: 닭이 먼저냐, 닭걀이 먼저냐 (0) | 2023.10.29 |
istiod 관리자 대시보드 여는 방법 (0) | 2023.10.21 |
istioctl로 istio-proxy 인증서 남은 기간 확인 (0) | 2023.10.21 |
istio-proxy 컨테이너 로그 레벨 변경방법 (1) | 2023.10.21 |