[AWS] EKS - karpenter / ttlSecondsUntilExpired 추가업데이트 필요

문제 발견
1.pod 생성 및 cpu 부하
2.pod 생성 원인 확인
3.기존에 구동되던 pod가 종료된 이력이 있으며, 다른 노드에 새로 pod가 생성됨
4.pod종료 원인 파악 진행
5.원인 확인 / karpenter로 생성한 노드가 회수되면서 pod가 사라지고, pod 유지를 위해 다른 노드에 새로 배포가 됨
 
karpenter eks필요할때 노드를 만들어서 파드를 배포하고, 더이상 사용하지 않을때 회수한다
비용절감 목적으로 eks 오토스케일할때 사용
미리 만들어진 노드에 배포된 3개의 파드로 사용하다 리소스 부족일 경우, karpenter가 노드 인스턴스를 만들고, pod를 배포한다
사용률이 떨어지면 파드는 회수된다,
karpenter는 여기에서 생성된 노드를 회수하기 위해 사용된다
ttlSecondsAfterEmpty > 생성된 노드에 파드가 없다면 회수
ttlSecondsUntilExpired >> 해당옵션은 만료되면, 인스턴스를 종료하고 회수한다
ttlSecondsAfterEmpty 보다 ttlSecondsUntilExpired 우선적용
목적은 새로운 노드로 refresh하기 위함, 새로운 ami로 교체, ami보안패치등이 잦다면 더 빠른 주기로 진행되는게 낫다
또한 비용절감도 목적이된다, 예를들어 30일전에 리소스 부족으로 노드 생성 후 파드가 배포된 상태에서, 리소스 해소후
파드가 다시 3개로 줄었다고 치면, 이땐 기존 노드로만 유지되는것이 비용상 좋을수있다
그렇기에, expired설정으로 30일뒤에 해당 노드를 수거하며 파드를 다시 기존노드에 배포한다
그럼 인스턴스는 다시 3개로 유지된다

'CLOUD > AWS' 카테고리의 다른 글

[EKS] Pod 배포 정책 개선  (0) 2024.12.19
[EKS] AWS cosole에서 EKS 클러스터 정보 확인  (0) 2024.12.19
[AWS] private link 로 vpc endpoint 연결  (0) 2024.01.11