노드 생명주기

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

< 이전: 비용 관리 | 목차 | 다음: 워크로드 최적화 >


이 문서에서는 EKS Auto Mode에서 노드의 생명주기를 관리하는 방법을 설명합니다. 노드 만료 정책, AMI 관리, Drift 감지, 그리고 노드 신선도 정책에 대해 다룹니다.

노드 만료 정책 (expireAfter)

expireAfter 필드 이해

expireAfter는 노드의 최대 수명을 설정하는 필드입니다. 이전의 ttlSecondsUntilExpired를 대체합니다.

apiVersion: karpenter.sh/v1
kind: NodePool
metadata:
  name: with-expiration
spec:
  template:
    spec:
      requirements:
        - key: karpenter.k8s.aws/instance-category
          operator: In
          values: ["m", "c"]
      nodeClassRef:
        group: eks.amazonaws.com
        kind: NodeClass
        name: default
      # 노드 만료 시간 설정
      expireAfter: 168h  # 7일 = 168시간

권장 만료 시간

환경
권장 expireAfter
이유

프로덕션

168h (7일)

보안 패치 주기와 안정성 균형

스테이징

72h (3일)

빠른 AMI 업데이트 테스트

개발

24h (1일)

최신 상태 유지, 비용 최적화

보안 중요

48h (2일)

빠른 패치 적용

GPU 워크로드

336h (14일)

프로비저닝 시간 고려

expireAfter 동작 원리

spinner

AMI 관리 전략

AMI 패밀리 선택

EKS Auto Mode는 두 가지 AMI 패밀리를 지원합니다.

AL2023 vs Bottlerocket 비교

특성
AL2023
Bottlerocket

기반

RHEL

목적 구축 OS

부팅 시간

40-60초

20-30초

보안

표준

강화 (immutable)

패키지 관리

yum/dnf

없음 (API 기반)

SSH 접근

가능

제한적 (Admin container)

디스크 크기

더 큼

최소화

소프트웨어 호환성

높음

컨테이너 전용

자동 업데이트

수동

지원

사용 사례

범용

보안 중시, 빠른 스케일링

AMI 선택 가이드

AMI 업데이트와 Drift 감지

Drift 감지 메커니즘

Auto Mode는 NodeClass나 NodePool 설정이 변경되면 자동으로 Drift를 감지합니다.

Drift 발생 시나리오

spinner

AMI 업데이트 주기

노드 신선도 정책과 보안 패치

노드 신선도의 중요성

신선한 노드를 유지하는 것은 보안과 컴플라이언스에 중요합니다.

고려사항
설명

보안 패치

최신 AMI는 최신 보안 패치 포함

CVE 대응

새 노드는 알려진 취약점 패치됨

컴플라이언스

규정 준수를 위한 정기적 교체 필요

드리프트 방지

구성 변경 누적 방지

보안 패치 전략

보안 패치 모니터링

Consolidation vs Expiration 트레이드오프

두 메커니즘의 차이

특성
Consolidation
Expiration

트리거

리소스 사용률

시간 경과

목적

비용 최적화

노드 신선도 유지

동작

저사용률 노드 통합

만료된 노드 교체

우선순위

비용 절감

보안/안정성

상호작용 이해

spinner

권장 조합 설정

시나리오별 설정 가이드

노드 수명 분포 모니터링

kubectl을 활용한 모니터링

Prometheus 메트릭

Grafana 대시보드 쿼리


< 이전: 비용 관리 | 목차 | 다음: 워크로드 최적화 >

마지막 업데이트