생성하려는 pod가 많은 리소스를 요구할 때 현재 운영되는 노드에 정상적으로 배포되지 않을 때가 있다 😢
이럴 때는 용량이 더 큰 새로운 노드 그룹을 만들어야 한다. 그 과정을 공유한다 🔥🔥🔥
pod로 서비스를 띄우려는데 계속 실패하는 상황이 발생했다.
아래와 같이 Evicted가 반복되더니 결국 OOMKilled가 되는 상황의 반복이었다 🤔
streamlit-deployment-76dcd6c6cc-gd2h7 0/1 Evicted 0 19m
streamlit-deployment-76dcd6c6cc-gnv7c 0/1 Evicted 0 19m
streamlit-deployment-76dcd6c6cc-gvx67 0/1 Evicted 0 19m
streamlit-deployment-76dcd6c6cc-jc2dz 0/1 Evicted 0 19m
streamlit-deployment-76dcd6c6cc-krwbj 0/1 Evicted 0 19m
streamlit-deployment-76dcd6c6cc-l5nt6 0/1 Evicted 0 19m
streamlit-deployment-76dcd6c6cc-m6fv4 0/1 OOMKilled 1 19m
이는 말 그대로 노드의 메모리 부족으로 인해 pod를 띄우지 못하는 것이다.
나의 경우 LLM Model을 pod로 올려야 했기에 많은 리소스가 필요했다.
기존 노드 그룹 삭제와 새로운 노드 그룹 생성 중 어느 것을 먼저해도 상관 없지만(?)
나는 새로운 노드 그룹 부터 생성했다.
eksctl create nodegroup --cluster eks-dev --name managed-ng-2 --node-type m5.large --nodes 1
--cluster
: 클러스터 이름
--name
: 새로 생성하는 노드 그룹 이름
--node-type
: 생성될 node의 instance 타입
--nodes
: 생성 될 node의 갯수
기존 노드 그룹을 삭제하자
eksctl delete nodegroup --cluster eks-dev --name managed-ng-1
노드 그룹은 EKS 클러스터의 컴퓨팅 목록에서 확인할 수 있다 👍