EKS 고급 디버깅
목차
1. 장애 대응 프레임워크
첫 5분 체크리스트 (Initial Triage)
초기 진단 스크립트
장애 심각도 매트릭스 (Severity Matrix)
심각도
분류
영향 범위
대응 시간
예시
신속한 문제 식별을 위한 의사결정 트리
2. 컨트롤 플레인 디버깅
EKS 컨트롤 플레인 로그 유형
로그 유형
설명
주요 사용 사례
컨트롤 플레인 로깅 활성화
CloudWatch Logs Insights 쿼리
에러 분석 쿼리
인증 실패 분석
API 스로틀링 감지
IAM 인증 문제 해결
aws-auth ConfigMap 확인
인증 테스트
IRSA (IAM Roles for Service Accounts) 문제 해결
IRSA 설정 예시
IRSA 디버깅
Pod Identity 문제 해결
서비스 계정 토큰 만료 (1시간 기본 TTL)
EKS Add-on 오류 패턴
3. 노드 레벨 문제 해결
노드 조인 실패 진단 (8가지 일반적인 원인)
#
원인
증상
해결 방법
NotReady 노드 의사결정 트리
SSM을 통한 kubelet/containerd 디버깅
리소스 압력 조건 (Resource Pressure)
DiskPressure 해결
MemoryPressure 해결
PIDPressure 해결
Karpenter 프로비저닝 문제
Karpenter 설정 예시
Managed Node Group 오류 코드
오류 코드
설명
해결 방법
Node Readiness Controller (단계별 부팅 검증)
4. 워크로드 디버깅
파드 상태 흐름도
기본 진단 명령어
kubectl debug 기법
임시 컨테이너 (Ephemeral Containers)
파드 복사 (Pod Copying)
노드 디버깅
Deployment 롤아웃 관리
HPA/VPA 스케일링 문제
HPA 디버깅
HPA 설정 예시
VPA 디버깅
프로브 설정 모범 사례
5. 네트워킹 진단
VPC CNI 문제 해결
IP 고갈 문제 해결
Prefix Delegation 모드 활성화
Secondary CIDR 추가
ENIConfig 설정
CoreDNS 설정 문제
ndots 문제와 해결책
CoreDNS 성능 최적화
Service Endpoint 검증
NetworkPolicy AND/OR 로직 디버깅
netshoot 컨테이너를 활용한 라이브 디버깅
6. 스토리지 문제 해결
EBS CSI Driver 오류 패턴
IRSA 권한 설정
EFS Mount Target 구성 문제
EFS StorageClass 및 PVC
PVC/PV 상태 관리
Finalizer 처리
WaitForFirstConsumer를 통한 AZ 매칭
7. 관측성 아키텍처
Container Insights 설정
PromQL 쿼리 예시
CPU 스로틀링 감지
OOMKilled 이벤트 감지
파드 재시작률
CloudWatch Logs Insights 검색 패턴
PrometheusRule 예시
ADOT (AWS Distro for OpenTelemetry) 설정
8. 장애 감지 아키텍처
4계층 감지 파이프라인
레퍼런스 아키텍처 1: AWS 네이티브
레퍼런스 아키텍처 2: 오픈소스 스택
감지 패턴
임계값 기반 감지
이상 감지 (Anomaly Detection)
Composite Alarm
로그 기반 메트릭
성숙도 모델 (Maturity Model)
레벨
설명
MTTD 목표
주요 기능
EventBridge + Lambda 자동 복구
심각도별 알림 채널 매트릭스
심각도
Slack
PagerDuty
Email
SMS
Auto-Remediation
9. 빠른 참조
오류 패턴 조회 테이블
증상
원인
해결 방법
필수 kubectl 명령어 치트시트
도구 추천
도구
용도
설치/사용
EKS Log Collector (AWS Support용)
10. 다음 단계
퀴즈
다음 문서
추가 학습 자료
마지막 업데이트