운영 및 관리

지원 버전: EKS 1.29+, EKS Auto Mode GA 마지막 업데이트: 2026년 2월 19일

< 이전: Spot 전략 | 목차 | 다음: 비용 관리 >


이 문서에서는 EKS Auto Mode 클러스터의 Day-2 운영, 모니터링, 문제 해결, 그리고 보안 모범 사례를 다룹니다.

Disruption Budget 설정

안전한 노드 교체를 위한 예산을 설정합니다.

# disruption-budget.yaml
apiVersion: karpenter.sh/v1
kind: NodePool
metadata:
  name: production-pool
spec:
  template:
    spec:
      requirements:
        - key: karpenter.k8s.aws/instance-category
          operator: In
          values: ["m", "c", "r"]
        - key: karpenter.sh/capacity-type
          operator: In
          values: ["on-demand"]
      nodeClassRef:
        group: eks.amazonaws.com
        kind: NodeClass
        name: default
  disruption:
    consolidationPolicy: WhenEmptyOrUnderutilized
    consolidateAfter: 5m
    budgets:
      # 기본: 전체 노드의 10%만 동시 중단
      - nodes: "10%"

      # 업무 시간: 중단 최소화
      - nodes: "1"
        schedule: "0 9-18 * * mon-fri"  # 월-금 9-18시 (KST)
        duration: 9h

      # 주말: 더 적극적인 통합 허용
      - nodes: "30%"
        schedule: "0 0 * * sat-sun"
        duration: 48h

      # 긴급 유지보수 윈도우: 중단 금지
      - nodes: "0"
        schedule: "0 0 1 * *"  # 매월 1일
        duration: 24h

롤링 교체 전략

PodDisruptionBudget과의 연동

Zone 장애 대응

CloudWatch 지표 모니터링

EKS Auto Mode는 다음 지표를 CloudWatch에 자동으로 전송합니다.

CloudWatch 대시보드 설정

kubectl 기반 진단

일반적인 문제와 해결 방법

문제 1: Pod가 Pending 상태로 유지됨

문제 2: 노드 프로비저닝 실패

문제 3: 노드 Consolidation이 작동하지 않음

문제 4: Spot 인터럽트 후 Pod 재스케줄 지연

보안 모범 사례

Day-2 운영 체크리스트

효과적인 Auto Mode 운영을 위한 일일/주간/월간 체크리스트입니다.

일일 체크리스트

항목
확인 명령어
정상 기준

Pending Pod 확인

kubectl get pods -A --field-selector=status.phase=Pending

0개 (또는 일시적)

NodeClaim 상태

kubectl get nodeclaims

모두 Ready 상태

노드 리소스 사용량

kubectl top nodes

CPU/메모리 < 80%

최근 이벤트 확인

kubectl get events --sort-by='.lastTimestamp' -A

에러 없음

주간 체크리스트

항목
설명

비용 분석

AWS Cost Explorer에서 EC2 비용 트렌드 확인

Consolidation 효율

저사용률 노드 비율 확인

Spot 인터럽트 빈도

CloudWatch 메트릭에서 Spot 중단 이벤트 검토

노드 수명 분포

오래된 노드 비율 확인 (expireAfter 동작 검증)

월간 체크리스트

항목
설명

NodePool 설정 검토

요구사항 변화에 따른 설정 조정

AMI 업데이트 확인

최신 AMI 적용 여부 확인

보안 패치 상태

노드 보안 업데이트 상태 검토

용량 계획

limits 설정 적절성 검토

노드 교체 전략 비교

Rolling vs Aggressive 교체

전략
설정
사용 시나리오
장점
단점

Rolling

budgets: nodes: "1"

프로덕션 환경

서비스 영향 최소화

교체 시간 김

Aggressive

budgets: nodes: "30%"

개발/테스트 환경

빠른 교체

순간적 용량 감소

Scheduled

schedule: "0 2 * * *"

비즈니스 비활성 시간

업무 영향 없음

유연성 제한

교체 전략 선택 가이드

가용 영역 장애 대응 패턴

Multi-AZ Awareness 설정

Capacity Reservation 활용

운영 자동화

노드 교체 알림 설정

PDB 준수 모니터링

용량 모니터링 대시보드

운영 체크리스트 요약

영역
체크 항목

설정

NodePool limits 설정 완료

Disruption Budget 구성

NodeClass 보안 설정 검토

모니터링

CloudWatch 대시보드 생성

알람 설정 (Pending Pod, 프로비저닝 실패)

비용 모니터링 설정

가용성

PodDisruptionBudget 설정

멀티 AZ 분산 검증

Spot/On-Demand 혼합 비율 검토

비용

Spot 인스턴스 비율 최적화

Consolidation 정책 검토

리소스 요청/제한 적절성 검토


< 이전: Spot 전략 | 목차 | 다음: 비용 관리 >

마지막 업데이트