EKS 환경 GPU 노드 교체 문제, Karpenter 설정을 확인하세요!

by DD
9개월 전
조회수 6

EKS Bottlerocket AMI 환경에서 DCGM 라이브러리 누락으로 인해 GPU 노드가 반복적으로 교체되는 문제 발생

Karpenter Node Auto-Repair 기능이 AcceleratedHardwareReady=False 상태를 감지하여 노드 교체 시도

문제 해결을 위해 Node Auto-Repair 기능 비활성화를 선택, GPU 워크로드 안정화 도모

DCGM 오류와 AcceleratedHardwareReady 상태

DCGM은 GPU 상태를 모니터링하는 라이브러리이며, libdcgm.so 누락은 AcceleratedHardwareReady 상태를 False로 만든다. 따라서 Karpenter는 해당 노드를 비정상으로 판단하고 교체한다. 구체적으로, Bottlerocket AMI 환경에서 이 문제가 발생했다.

Karpenter Node Auto-Repair의 동작 원리

Karpenter의 Node Auto-RepairReady=False, AcceleratedHardwareReady=False 등 다양한 조건을 기준으로 노드 상태를 판단한다. 유예 시간을 두고 노드를 교체하며, DCGM 오류로 인해 GPU 노드가 지속적으로 교체되는 상황을 초래했다. Node Auto-Repair는 클러스터 안정성을 위해 설계되었다.

Node Auto-Repair 비활성화의 선택

문제 해결을 위해 Node Auto-Repair 기능을 비활성화하여 GPU 노드 교체 문제를 해결했다. DCGM 라이브러리를 수동 설치하는 방법도 있었지만, Bottlerocket의 불변성 때문에 어려움이 있었다. 따라서, 현재 상황에서는 Node Auto-Repair 비활성화가 최적의 선택이었다.

EKS Bottlerocket AMI에서 DCGM 오류로 GPU 노드 반복 교체 문제 해결기