라우팅

Istio의 고급 라우팅 기능을 사용하면 요청의 다양한 속성을 기반으로 트래픽을 세밀하게 제어할 수 있습니다.

목차

라우팅 개요

VirtualService의 라우팅 규칙은 Match 조건Route 대상으로 구성됩니다.

spinner

기본 구조

Match 조건

Match 조건 유형

조건
설명
매칭 타입

uri

요청 경로

exact, prefix, regex

scheme

HTTP/HTTPS

exact, prefix, regex

method

HTTP 메서드

exact, prefix, regex

authority

Host 헤더

exact, prefix, regex

headers

HTTP 헤더

exact, prefix, regex

queryParams

쿼리 파라미터

exact, prefix, regex

sourceLabels

소스 워크로드 레이블

Label selector

gateways

Gateway 이름

List

매칭 타입

여러 조건 조합

URI 기반 라우팅

Prefix 매칭

Exact 매칭

Regex 매칭

User-Agent 기반 라우팅

Custom Header 기반 라우팅

API 버전 기반 라우팅

Query Parameter 기반 라우팅

기본 Query Parameter 매칭

여러 Query Parameter 조합

HTTP Method 기반 라우팅

소스 기반 라우팅

Namespace 기반 라우팅

Service Account 기반 라우팅

우선순위와 폴백

Match 규칙 우선순위

Istio는 VirtualService의 HTTP 라우팅 규칙을 위에서 아래로 평가합니다.

폴백 전략

실전 예제

예제 1: 멀티 테넌트 라우팅

예제 2: Feature Flag 기반 라우팅

예제 3: 지역 기반 라우팅

예제 4: API 게이트웨이 패턴

문제 해결

라우팅이 작동하지 않음

Match 조건 디버깅

일반적인 문제

1. Match 순서 문제

2. Regex 문법 오류

3. Header 대소문자 문제

모범 사례

1. 구체적인 규칙을 먼저 배치

2. 정규 표현식은 최소화

3. 명확한 네이밍

4. 문서화

5. 테스트 전략

참고 자료

마지막 업데이트