Istio 퀴즈

지원 버전: Istio 1.28.0 EKS 버전: 1.34 (Kubernetes 1.28+) 마지막 업데이트: 2026년 2월 19일

이 퀴즈는 Istio 서비스 메시에 대한 이해도를 테스트합니다.

문제 1: 서비스 메시 기본 개념

chevron-right서비스 메시란 무엇이며 주요 기능은?hashtag

답변: 서비스 메시는 서비스 간 통신을 처리하는 인프라 계층으로, 애플리케이션 코드를 변경하지 않고도 서비스 간 통신을 제어하고 관찰할 수 있게 해줍니다.

주요 기능:

  1. 트래픽 관리: 서비스 간 트래픽 흐름 제어

    • 라우팅, 로드 밸런싱, 카나리 배포

    • Timeout, Retry, Circuit Breaker

    • 트래픽 미러링 및 섀도우 테스트

  2. 보안: 서비스 간 통신 암호화 및 인증

    • 자동 mTLS (상호 TLS)

    • Authorization Policy (액세스 제어)

    • Request Authentication (JWT)

  3. 관찰성: 서비스 간 통신에 대한 가시성 제공

    • 메트릭 수집 (Prometheus)

    • 분산 추적 (Jaeger/Zipkin)

    • 로깅 및 시각화 (Kiali, Grafana)

Istio의 특징:

  • 기존 분산 애플리케이션에 투명하게 계층화

  • 사이드카 프록시 패턴 사용 (Envoy)

  • Ambient Mode 지원 (사이드카 없는 아키텍처)

  • 선언적 구성을 통한 정책 관리

문제 2: Istio 아키텍처

chevron-rightIstio 1.28.0의 주요 구성 요소와 역할은?hashtag

답변: 컨트롤 플레인 (Control Plane):

  • Istiod: 단일 바이너리로 통합된 컨트롤 플레인

    • 서비스 검색: 메시의 서비스 레지스트리 유지

    • 구성 관리: Istio 구성 저장 및 배포

    • 인증서 관리: mTLS를 위한 인증서 생성 및 순환

데이터 플레인 (Data Plane):

  • Envoy 프록시: 사이드카로 배포되어 모든 네트워크 통신을 중재

    • 트래픽 라우팅 및 로드 밸런싱

    • mTLS 암호화 및 인증

    • 메트릭, 로그, 트레이스 수집

Ambient Mode (선택사항):

  • ztunnel: 노드 레벨 프록시 (L4)

  • waypoint proxy: 선택적 L7 프록시

주요 특징:

  • 단일 바이너리 (Istiod)로 통합된 컨트롤 플레인

  • 확장 가능하고 고가용성 아키텍처

  • Kubernetes 네이티브 CRD 기반 구성

  • Ambient Mode로 리소스 사용량 85% 이상 절감 가능

문제 3: 트래픽 관리 및 Argo Rollouts 통합

chevron-rightIstio와 Argo Rollouts를 사용하여 자동화된 카나리 배포를 구현하는 방법은?hashtag

답변: Argo Rollouts는 Istio와 통합하여 메트릭 기반 자동 카나리 배포를 제공합니다.

1. Rollout 리소스 정의:

apiVersion: argoproj.io/v1alpha1
kind: Rollout
metadata:
  name: reviews
spec:
  replicas: 5
  strategy:
    canary:
      # Istio 트래픽 제어
      trafficRouting:
        istio:
          virtualService:
            name: reviews-vsvc
            routes:
            - primary
          destinationRule:
            name: reviews-destrule
            canarySubsetName: canary
            stableSubsetName: stable

      # 단계별 배포
      steps:
      - setWeight: 10    # 10% Canary
      - pause: {duration: 2m}
      - setWeight: 25    # 25% Canary
      - pause: {duration: 2m}
      - setWeight: 50    # 50% Canary
      - pause: {duration: 2m}

      # 자동 메트릭 분석
      analysis:
        templates:
        - templateName: success-rate
        - templateName: latency
        startingStep: 1

2. AnalysisTemplate - 자동 롤백:

apiVersion: argoproj.io/v1alpha1
kind: AnalysisTemplate
metadata:
  name: success-rate
spec:
  metrics:
  - name: success-rate
    successCondition: result >= 0.95  # 95% 이상
    failureLimit: 2  # 2번 실패하면 자동 롤백
    provider:
      prometheus:
        query: |
          sum(rate(istio_requests_total{
            response_code!~"5.*"
          }[2m])) / sum(rate(istio_requests_total[2m]))

주요 기능:

  • 메트릭 기반 자동 진행/롤백

  • 점진적 트래픽 증가 (10% → 25% → 50% → 100%)

  • Prometheus 메트릭 실시간 분석

  • 실패 시 즉시 자동 롤백

문제 4: 보안 기능

chevron-rightIstio 1.28.0의 mTLS(mutual TLS) 기능과 Authorization Policy는?hashtag

답변: mTLS 장점:

  • 서비스 간 통신 자동 암호화

  • 상호 인증으로 보안 강화

  • 애플리케이션 코드 변경 없이 적용

  • 자동 인증서 발급 및 갱신

1. PeerAuthentication - mTLS 정책:

2. AuthorizationPolicy - 세밀한 접근 제어:

3. RequestAuthentication - JWT 검증:

모범 사례:

  • Deny-by-default 정책 사용

  • 최소 권한 원칙 적용

  • Service Account 기반 인증

  • Namespace 격리

문제 5: Gateway 및 Ingress

chevron-rightIstio Gateway의 역할과 TLS 구성 방법은?hashtag

답변: Gateway 역할:

  • 클러스터 외부에서 내부 서비스로의 트래픽 진입점

  • Ingress/Egress 트래픽 제어

  • TLS 종료 및 인증서 관리

  • 로드 밸런서와 연동

구성 예시:

TLS 인증서 생성:

문제 6: 관찰성 도구

chevron-rightIstio 1.28.0에서 제공하는 관찰성 도구들과 각각의 역할은?hashtag

답변: 1. Prometheus - 메트릭 수집:

2. Jaeger - 분산 추적:

3. Kiali - 서비스 메시 시각화:

  • 실시간 토폴로지 시각화

  • 트래픽 흐름 분석

  • 구성 검증

  • 성능 메트릭 표시

4. Grafana - 대시보드:

  • Istio Service Dashboard

  • Istio Workload Dashboard

  • Istio Performance Dashboard

  • 커스텀 대시보드 생성

접속 방법:

문제 7: Ambient Mode

chevron-rightIstio 1.28.0의 Ambient Mode란 무엇이며 Sidecar Mode와의 차이점은?hashtag

답변: Ambient Mode 개념:

  • 사이드카 없는 서비스 메시 아키�ecture

  • ztunnel (노드 레벨 L4 프록시) + waypoint (선택적 L7 프록시)

  • 리소스 사용량 85% 이상 절감

아키텍처 비교:

특성
Sidecar Mode
Ambient Mode

배포 방식

각 파드에 Envoy 주입

노드당 ztunnel 1개

리소스 사용

높음 (파드당 50-100MB)

낮음 (노드당 50MB)

배포 복잡도

높음 (재배포 필요)

낮음 (투명하게 적용)

L4 기능

지원

ztunnel로 지원

L7 기능

전체 지원

waypoint 필요

성능

약간 느림

빠름 (L4만 사용 시)

Ambient Mode 활성화:

사용 시나리오:

  • 리소스 제약이 있는 환경

  • 대규모 클러스터 (1000+ pods)

  • L4 기능만 필요한 경우

  • 점진적 Istio 도입

문제 8: 복원력 패턴

chevron-rightIstio의 Outlier Detection, Circuit Breaker, Rate Limiting의 차이점은?hashtag

답변: 1. Outlier Detection - 비정상 인스턴스 제외:

2. Circuit Breaker - 과부하 방지:

3. Rate Limiting - 요청 속도 제한:

차이점:

  • Outlier Detection: 사후 대응 (실패 후 제외)

  • Circuit Breaker: 사전 방지 (연결 수 제한)

  • Rate Limiting: 요청 속도 제어 (토큰 버킷)

조합 사용:

문제 9: Locality Load Balancing (Zone Aware Routing)

chevron-rightIstio의 Locality Load Balancing 기능과 AWS EKS에서의 활용 방법은?hashtag

답변: Locality Load Balancing 개념:

  • 같은 가용 영역(AZ) 내 서비스 우선 라우팅

  • 네트워크 지연시간 감소

  • 크로스 AZ 데이터 전송 비용 절감 (~85%)

구성 방법:

AWS EKS에서의 활용:

  1. 비용 절감:

    • 크로스 AZ 트래픽: $0.01/GB

    • 같은 AZ 트래픽: 무료

    • 80% 같은 AZ 라우팅 시 상당한 비용 절감

  2. 성능 향상:

    • AZ 내 지연시간: ~1ms

    • 크로스 AZ 지연시간: ~2-3ms

  3. 자동 장애 조치:

    • AZ 장애 시 자동으로 다른 AZ로 전환

    • Outlier Detection과 결합

Pod Topology 설정:

문제 10: Amazon EKS 통합 및 모범 사례

chevron-rightIstio 1.28.0을 Amazon EKS 1.34와 통합할 때 고려사항과 모범 사례는?hashtag

답변: 1. 설치 및 구성:

2. AWS Load Balancer 통합:

3. 리소스 최적화:

4. 보안 구성:

5. 모니터링 통합:

6. 모범 사례:

  • ✅ 프로덕션 프로필 사용

  • ✅ Control Plane HA (replica ≥ 3)

  • ✅ mTLS STRICT 모드

  • ✅ PodDisruptionBudget 설정

  • ✅ Locality Load Balancing 활성화

  • ✅ Prometheus + Grafana 모니터링

  • ✅ 정기적인 버전 업그레이드 (Canary 방식)

7. 비용 최적화:

  • Ambient Mode 고려 (85% 리소스 절감)

  • Locality Load Balancing (크로스 AZ 비용 절감)

  • Sidecar Scope 제한 (메모리 30-50% 감소)

보너스 문제: Progressive Delivery

chevron-rightIstio + Argo Rollouts로 완전 자동화된 Progressive Delivery를 구현하는 방법은?hashtag

답변: Progressive Delivery는 메트릭 기반으로 자동으로 배포를 진행하거나 롤백하는 방식입니다.

완전한 자동화 예제:

자동 롤백 조건:

주요 이점:

  • 💚 완전 자동화 (사람 개입 불필요)

  • 💚 즉시 롤백 (장애 감지 후 수초 내)

  • 💚 안전한 배포 (메트릭 기반 검증)

  • 💚 일관된 프로세스 (표준화)


점수 계산:

  • 10-11개 정답: 우수 (Istio 전문가 수준)

  • 8-9개 정답: 양호 (프로덕션 운영 가능)

  • 6-7개 정답: 보통 (추가 학습 권장)

  • 4-5개 정답: 미흡 (기본 개념 복습 필요)

  • 0-3개 정답: 재학습 필요

학습 자료:

마지막 업데이트