EKS 노드 AMI와 구성

Referenced by

1. 서론 (Context & Tension)

Amazon EKS 업그레이드에서 메모리/리소스 이슈를 분석할 때, “쿠버네티스 버전”만 보면 가정이 깨질 수 있습니다. 실제 운영 영향은 노드 AMI(특히 AL2 → AL2023)와 cgroup 구성 변화 에서 주로 발생하기 때문입니다.

이 문서는 EKS 1.31~1.34 범위에서 노드 측 변경점을 “설계 판단에 필요한 수준”으로 정리하고, 상세 개념은 Atomic Note로 링크합니다.

2. 문제 분해 (Problem Decomposition)

  • 무엇이 바뀌었는가?: 노드 OS/AMI, cgroup(v1/v2), kubelet 드라이버 자동 설정 등
  • 무엇이 직접 영향을 주는가?: 메모리 limit/request의 커널 매핑, eviction/OOM 경로, 알파 기능 지원 가능성
  • 무엇이 ‘있어도 못 쓰는가’?: EKS에서 feature gate 제약으로 비활성인 기능(예: 알파 기능)

3. 탐구 과정 (Investigation)

3.1. Amazon Linux 2023 (AL2023) 도입

  • EKS 1.30 버전부터 신규 Managed Node Group 생성 시 기본 AMI가 AL2에서 AL2023으로 전환 되었습니다.
  • Kubernetes 1.33부터는 AL2 AMI를 더 이상 제공하지 않고 AL2023과 Bottlerocket만 지원합니다.
  • AL2023은 기본적으로 cgroup v2를 활성화 하며, containerd 런타임에 최적화되어 있습니다.

3.2. 노드 구성과 cgroup 드라이버 자동 설정

  • AL2023 기반 EKS 노드는 containerd + systemd(cgroup v2) 조합으로 Kubelet이 자동 설정됩니다.
  • Kubernetes 1.34에서 Node cgroup driver autoconfiguration 기능이 GA(General Availability)됨에 따라, Kubelet이 cgroup 드라이버를 자동으로 감지하므로 수동 설정이 더 이상 필요하지 않습니다.

3.3. 알파 기능 지원 정책

  • Amazon EKS는 관리형 서비스이므로 알파(Alpha) 단계의 기능은 기본적으로 지원하지 않습니다.
  • 따라서 K8s MemoryQoS와 같은 알파 기능은 EKS에서 사실상 사용할 수 없으며, 기능이 베타(Beta) 이상으로 승격되고 AWS가 공식적으로 지원하기 전까지는 고려 대상에서 제외해야 합니다.

3.4. 버전별 주요 차이 요약표

구분EKS 1.31 (K8s 1.31)EKS 1.32 (K8s 1.32)EKS 1.33 (K8s 1.33)EKS 1.34 (K8s 1.34)
MemoryQoS 기능 상태알파 단계 (EKS 미지원)알파 단계 (EKS 미지원)알파 단계 (EKS 미지원)알파 단계 (EKS 미지원)
Kubelet 메모리 관리메모리 매니저 베타메모리 매니저 GA메모리 매니저 GA메모리 매니저 GA
QoS 클래스 및 Eviction기본 정책 유지Guaranteed 파드 안정성 향상 (메모리 매니저)기본 정책 유지기본 정책 유지
노드 AMI 및 기본 구성AL2 및 AL2023 사용 가능AL2 최종 지원,AL2023 기본AL2023만 지원AL2023만 지원, cgroup 드라이버 자동설정 GA

4. 개념 연결 (Concept Linking)

5. 결정과 트레이드오프 (Decision & Trade-offs)

  • 선택: EKS 업그레이드 이슈를 분석할 때는 “컨트롤 플레인 버전”뿐 아니라 노드 AMI/OS/cgroup 조합을 1급 변수 로 두고 검증합니다.
  • 포기: 업스트림 알파 기능을 전제로 한 설계(예: MemoryQoS 기반 하한 보호)는 EKS에서는 성립하지 않을 수 있음을 받아들입니다.

6. 결론 (Takeaways)

  1. EKS 업그레이드의 리소스 이슈는 노드 AMI/OS 변화(AL2023, cgroup v2)에서 시작하는 경우가 많습니다.
  2. 업스트림에 기능이 있어도(E.g. MemoryQoS), EKS에서 “사용 가능”은 별개의 질문입니다.
  3. 메모리 관련 가정(request 보호 등)은 실제 환경에서 관찰로 검증해야 합니다.

References