クイズ: トラフィック管理
한국어 원문으로 표시합니다.
VirtualService 에 subset: v2 로 라우팅을 걸었는데 해당 호스트에 DestinationRule 이 없습니다. 어떤 일이 생기나요?
- 그 subset 에 해당하는 Envoy 클러스터가 없어 요청이 503(UH)으로 실패한다
- istiod 가 파드 라벨을 보고 subset 을 자동 생성한다
- subset 지정이 무시되고 서비스의 모든 파드로 분산된다
- VirtualService 가 검증 단계에서 거부되어 apply 되지 않는다
다음 match 는 어떤 요청에 걸리나요?
- match:
- uri:
prefix: /admin
- headers:
x-role:
exact: admin
- 경로가 /admin 으로 시작하면서 동시에 x-role 헤더가 admin 인 요청
- 경로가 /admin 으로 시작하거나, x-role 헤더가 admin 인 요청
- 두 조건 모두 무시되고 모든 요청
- 문법 오류라 규칙이 적용되지 않는다
전체 timeout 1초, attempts 2, perTryTimeout 1초, retryOn 503입니다. 실제 업스트림이 즉시 503을 응답할 때 올바른 판단은?
- 각 시도는 반드시 1초를 소비하므로 추가 재시도는 실행할 수 없다
- 재시도 설정이 전체 제한보다 우선하므로 언제나 3초까지 기다린다
- 전체 1초 안에서 최대 두 번 더 시도할 수 있고 실제 횟수는 관측해야 한다
- attempts에 원 요청도 포함되므로 전체 업스트림 요청은 최대 두 번이다
A → B → C 호출 체인에서 A와 B가 각각 attempts: 2 를 갖고 있습니다. C가 최악의 경우 받는 요청 수는?
- 9배
- 3배
- 5배
- 6배
운영 트래픽의 20%를 새 버전으로 미러링하기로 했습니다. 반드시 먼저 확인해야 할 것은?
- 미러 대상의 응답 지연이 원본 요청 지연에 더해지는지
- 미러 대상에 별도의 Gateway 를 붙여야 한다는 점
- mirrorPercentage 를 100 으로 두어야 통계가 유효하다는 점
- 미러링된 요청도 DB 쓰기나 외부 API 호출 같은 부수 효과를 일으킨다는 점
localityLbSetting 으로 같은 존 우선 라우팅을 켰는데 존 장애 시 페일오버가 일어나지 않습니다. 가장 유력한 원인은?
- outlierDetection 이 없어 Envoy 가 해당 존을 불건강하다고 판단할 근거가 없다
- VirtualService 에 catch-all 규칙이 없다
- 노드에 topology 라벨이 없어 존을 구분하지 못한다
- connectionPool 한도가 너무 커서 서킷이 열리지 않는다
액세스 로그에서 503 과 함께 응답 플래그 NR 이 보입니다. 어디를 먼저 봐야 하나요?
- DestinationRule 의 subset 라벨과 파드 라벨 일치 여부
- connectionPool 한도 초과 여부
- VirtualService 의 매칭 규칙 — 어떤 규칙에도 걸리지 않았을 가능성
- PeerAuthentication 의 mTLS 모드 불일치