Basic 퀴즈
지원 버전: Istio 1.28.0 EKS 버전: 1.34 (Kubernetes 1.28+) 마지막 업데이트: 2026년 2월 23일
이 퀴즈는 Istio의 기본 개념과 아키텍처에 대한 이해도를 테스트합니다.
객관식 문제 (1-5번)
문제 1: 서비스 메시의 정의
서비스 메시(Service Mesh)에 대한 설명으로 가장 적절하지 않은 것은?
A. 마이크로서비스 간 통신을 처리하는 인프라 계층이다 B. 애플리케이션 코드를 수정해야만 사용할 수 있다. C. 서비스 간 트래픽 제어와 관찰성을 제공한다. D. 네트워크 레벨에서 보안과 정책을 적용한다.
정답 및 해설
정답: B
서비스 메시의 핵심 장점 중 하나는 애플리케이션 코드를 변경하지 않고도 서비스 간 통신을 제어하고 관찰할 수 있다는 것입니다.
해설:
A (O): 서비스 메시는 마이크로서비스 아키텍처에서 서비스 간 통신을 담당하는 전용 인프라 계층입니다
B (X): 애플리케이션 코드 변경 없이 사이드카 프록시나 Ambient Mode로 투명하게 적용됩니다
C (O): VirtualService, DestinationRule 등으로 트래픽을 제어하고, 메트릭/로그/트레이스를 자동 수집합니다
D (O): mTLS, Authorization Policy 등으로 네트워크 레벨에서 보안 정책을 적용합니다
참고 자료:
문제 2: Istio 아키텍처 구성 요소
Istio의 Control Plane에서 중앙 집중식 컴포넌트로 서비스 검색, 구성 관리, 인증서 관리를 담당하는 것은?
A. Envoy B. Istiod C. Pilot D. Citadel
정답 및 해설
정답: B
Istiod는 Istio 1.5부터 도입된 단일 바이너리로, 이전의 Pilot, Citadel, Galley를 통합한 컴포넌트입니다.
해설:
A (X): Envoy는 Data Plane의 프록시로, 각 파드의 사이드카로 실행됩니다
B (O): Istiod는 Control Plane의 핵심으로 다음을 담당합니다:
서비스 검색 (Service Discovery)
구성 관리 (Configuration Management)
인증서 관리 (Certificate Management)
C (X): Pilot은 Istio 1.5 이전 버전의 컴포넌트로, 현재는 Istiod에 통합되었습니다
D (X): Citadel도 Istio 1.5 이전 버전의 컴포넌트로, 현재는 Istiod에 통합되었습니다
Istiod의 주요 역할:
# Istiod가 관리하는 구성
1. 서비스 검색: Kubernetes Service → Envoy Cluster
2. 구성 배포: VirtualService, DestinationRule → Envoy Config
3. 인증서 발급: Service Account → mTLS Certificate참고 자료:
문제 3: Envoy 프록시의 역할
Data Plane의 Envoy 프록시가 수행하는 작업이 아닌 것은?
A. 트래픽 라우팅 및 로드 밸런싱 B. mTLS 암호화 및 인증 C. Kubernetes CRD 검증 및 저장 D. 메트릭, 로그, 트레이스 수집
정답 및 해설
정답: C
Kubernetes CRD 검증 및 저장은 Control Plane(Istiod)의 역할입니다.
해설:
A (O): Envoy는 VirtualService 규칙에 따라 트래픽을 라우팅하고 로드 밸런싱합니다
B (O): Envoy는 서비스 간 통신을 자동으로 mTLS로 암호화하고 인증서를 검증합니다
C (X): CRD 검증 및 저장은 Kubernetes API Server와 Istiod의 역할입니다
D (O): Envoy는 모든 요청에 대한 메트릭(Prometheus), 로그(Access Log), 트레이스(Jaeger)를 수집합니다
참고 자료:
문제 4: Istio 설치 프로파일
Amazon EKS 프로덕션 환경에서 Istio를 설치할 때 권장되는 프로파일은?
A. default B. demo C. minimal D. production
정답 및 해설
정답: D
프로덕션 환경에서는 production 프로파일을 사용해야 합니다.
해설:
Istio 설치 프로파일 비교:
default
개발/테스트
기본 구성, 중간 리소스
demo
데모/학습
모든 기능 활성화, 높은 리소스 사용
minimal
최소 구성
Control Plane만 설치
production
프로덕션
HA 구성, 높은 가용성
Production 프로파일 특징:
프로덕션 체크리스트:
✅ Control Plane HA (replica ≥ 3)
✅ mTLS STRICT 모드
✅ PodDisruptionBudget 설정
✅ 리소스 제한 및 HPA 구성
✅ 모니터링 스택 준비
참고 자료:
문제 5: Istio CRD (Custom Resource Definition)
다음 중 Istio의 트래픽 관리를 위한 CRD가 아닌 것은?
A. VirtualService B. DestinationRule C. PeerAuthentication D. Gateway
정답 및 해설
정답: C
PeerAuthentication은 보안(Security) 관련 CRD입니다.
해설:
Istio CRD 분류:
1. 트래픽 관리 (Traffic Management):
VirtualService: 라우팅 규칙 정의
DestinationRule: 로드 밸런싱, 서브셋 정의
Gateway: 외부 트래픽 진입점
ServiceEntry: 외부 서비스 정의
Sidecar: Envoy 구성 범위 제한
2. 보안 (Security):
PeerAuthentication: 서비스 간 인증 (mTLS)
RequestAuthentication: 최종 사용자 인증 (JWT)
AuthorizationPolicy: 액세스 제어
3. 관찰성 (Observability):
Telemetry: 메트릭, 로그, 트레이스 구성
예제:
참고 자료:
주관식 문제 (6-10번)
문제 6: Sidecar 주입 메커니즘
Istio에서 Pod에 Envoy Sidecar를 자동으로 주입하는 방법 2가지를 설명하고, 각각의 장단점을 비교하세요.
예시 답안
답변:
Istio는 두 가지 방법으로 Sidecar를 자동 주입합니다:
1. Namespace 레벨 자동 주입:
장점:
Namespace 전체에 일괄 적용 가능
관리가 간편함
실수로 누락될 가능성 낮음
단점:
Namespace 내 모든 Pod에 적용됨 (선택적 제외 필요)
기존 Pod는 재시작 필요
2. Pod 레벨 선택적 주입:
장점:
특정 Pod만 선택적으로 주입 가능
세밀한 제어 가능
Namespace 레이블 설정 불필요
단점:
각 Deployment마다 설정 필요
관리 포인트 증가
실수로 누락될 가능성 있음
비교표:
적용 범위
Namespace 전체
개별 Pod
관리 복잡도
낮음
높음
선택성
낮음 (제외 설정 필요)
높음
권장 사용
프로덕션 환경
혼합 환경
프로덕션 권장 사항:
기본적으로 Namespace 레벨 사용
제외가 필요한 Pod만
sidecar.istio.io/inject: "false"설정
참고 자료:
문제 7: Istio 리소스 사용량 최적화
1000개의 Pod가 있는 대규모 Kubernetes 클러스터에서 Istio를 사용할 때, Sidecar Mode와 Ambient Mode의 예상 리소스 사용량을 계산하고 비교하세요. (ztunnel이 10개 노드에 배포되고, waypoint가 1개라고 가정)
답변:
가정:
Pod 수: 1000개
Node 수: 10개
Sidecar 메모리: 50MB/Pod
ztunnel 메모리: 50MB/Node
waypoint 메모리: 200MB
1. Sidecar Mode 리소스 사용량:
2. Ambient Mode 리소스 사용량:
3. 비교 및 절감량:
메모리
50GB
0.7GB
49.3GB
98.6%
CPU
100 vCPU
1.5 vCPU
98.5 vCPU
98.5%
비용 계산 (AWS EKS 기준):
결론:
Ambient Mode는 대규모 클러스터에서 96% 이상의 비용 절감 효과
1000개 Pod 규모에서 월간 약 $4,300 절감
리소스 사용량이 98% 이상 감소
주의사항:
L7 기능이 필요한 경우 waypoint 추가 필요
Ambient Mode는 Istio 1.28+ 베타 기능
참고 자료:
문제 8: mTLS 작동 원리
Istio에서 두 서비스(service-a와 service-b) 간 통신 시 mTLS가 작동하는 과정을 단계별로 설명하세요. Istiod, Envoy, Certificate의 역할을 포함해야 합니다.
예시 답안
답변:
mTLS (Mutual TLS) 작동 과정:
1단계: 인증서 발급 (부트스트랩)
Pod 시작 시 Envoy는 자신의 Service Account를 사용하여 Istiod에 인증서 요청(CSR)
Istiod는 Service Account를 검증하고 X.509 인증서 발급
인증서에는 Service Account ID가 포함됨 (예:
cluster.local/ns/default/sa/service-a)인증서 유효기간: 기본 24시간 (자동 갱신)
2단계: 서비스 간 통신 (mTLS 핸드셰이크)
상세 과정:
각 컴포넌트의 역할:
Istiod:
Root CA 역할 (인증서 서명)
Service Account 기반 인증서 발급
인증서 자동 갱신 (24시간마다)
PeerAuthentication 정책 배포
Envoy Sidecar:
인증서 요청 및 갱신
TLS 핸드셰이크 수행
트래픽 암호화/복호화
인증서 검증
Certificate:
X.509 인증서 형식
Subject Alternative Name (SAN): Service Account URI
유효기간: 24시간 (기본값)
자동 갱신
설정 예시:
인증서 확인:
보안 이점:
기밀성: 모든 통신 암호화
무결성: 데이터 변조 방지
인증: 양방향 신원 확인
자동화: 코드 변경 없이 적용
참고 자료:
문제 9: Istio 디버깅
새로 배포한 서비스가 Istio 메시에서 통신이 되지 않을 때, 문제를 진단하는 단계별 디버깅 방법을 작성하세요. (최소 5단계 이상)
예시 답안
답변:
Istio 서비스 통신 디버깅 체크리스트:
1단계: Pod 및 Sidecar 상태 확인
문제 진단:
컨테이너가 1개만 있으면 → Sidecar 미주입
Pod가 CrashLoopBackOff → 애플리케이션 또는 Sidecar 초기화 실패
해결:
2단계: Service 및 Endpoint 확인
문제 진단:
Endpoint가 비어있으면 → Service Selector와 Pod Label 불일치
Service 포트와 Pod 포트 불일치
해결:
3단계: Istio 구성 확인
문제 진단:
istioctl analyze오류 메시지 확인VirtualService의 host가 Service 이름과 일치하는지
DestinationRule의 subset 레이블이 Pod 레이블과 일치하는지
해결:
4단계: mTLS 및 보안 정책 확인
문제 진단:
mTLS 모드 불일치 (STRICT vs PERMISSIVE)
AuthorizationPolicy가 트래픽 차단
해결:
5단계: Envoy 구성 확인
문제 진단:
클러스터에 타겟 서비스가 없으면 → Istiod가 서비스를 인식 못함
리스너가 없으면 → 포트 구성 오류
엔드포인트가 UNHEALTHY → Pod가 준비되지 않음
6단계: 네트워크 연결 테스트
7단계: Istiod 로그 확인
8단계: 메트릭 및 트레이싱 확인
문제 해결 순서도:
참고 자료:
문제 10: Istio 업그레이드 전략
프로덕션 환경에서 Istio를 1.27.0에서 1.28.0으로 업그레이드하는 Canary Upgrade 전략을 설명하세요. 단계별 명령어와 검증 방법을 포함해야 합니다.
예시 답안
답변:
Istio Canary Upgrade 전략:
Canary Upgrade는 새 버전과 이전 버전의 Control Plane을 동시에 실행하고, 점진적으로 워크로드를 이전하는 안전한 업그레이드 방식입니다.
사전 준비:
1단계: 새 Control Plane 설치 (revision 사용)
중요: 이 시점에서 두 개의 Control Plane이 동시에 실행됩니다.
2단계: 테스트 Namespace로 Canary 검증
검증 체크리스트:
✅ Sidecar가 1.28.0 버전으로 주입되었는가?
✅ 서비스 간 통신이 정상인가?
✅ mTLS가 정상 작동하는가?
✅ 메트릭이 수집되는가?
3단계: 스테이징 Namespace 이전
검증:
24-48시간 모니터링:
Prometheus 메트릭 확인
에러율, 지연시간 비교
Istiod 리소스 사용량 확인
4단계: 프로덕션 Namespace 단계적 이전
단계별 검증:
5단계: 이전 버전 제거
6단계: Gateway 업그레이드 (선택사항)
롤백 계획:
모범 사례:
단계적 접근:
Test → Staging → Prod (단계별로 진행)
Namespace별로 하나씩 이전
각 단계마다 충분한 관찰 시간 확보
모니터링:
Golden Signals 모니터링 (Latency, Traffic, Errors, Saturation)
Istiod 리소스 사용량 확인
각 단계마다 24-48시간 관찰
자동화:
CI/CD 파이프라인에 통합
Smoke Test 자동화
롤백 스크립트 준비
커뮤니케이션:
팀에 업그레이드 일정 공유
릴리스 노트 검토
변경 사항 문서화
참고 자료:
점수 계산
객관식 1-5번: 각 10점 (총 50점)
주관식 6-10번: 각 10점 (총 50점)
총점: 100점
평가 기준:
90-100점: 우수 (Istio 기본 개념 완벽 이해)
80-89점: 양호 (기본 운영 가능)
70-79점: 보통 (추가 학습 권장)
60-69점: 미흡 (기본 개념 복습 필요)
0-59점: 재학습 필요
학습 자료
마지막 업데이트