개요EKS의 HPA를 찾아보는 과정에서 Karpenter라는 키워드를 많이 듣기도 했고, 여러 세션에서 Karpenter에 대한 설명도 조금씩은 들었었다. 그래서 정리해보고자 한다. 기존의 Autoscaling기존에 EKS에서 오토 스케일링을 위해서는 Cluster Autoscaler(CA) 를 이용한 것으로 보인다. Cluster Autoscaler(CA)란?Cluster Autoscaler(CA)란 Kubernetes 클러스터가 워크로드에 따라 용량을 자동으로 조절하는 기능을 하는 도구이다. 개발자가 Pod를 많이 배포하거나 HPA 과정에서 새로 생성된 Pod가 Node의 리소스 부족으로 인해 Pending 상태에 빠지게 되면 Node를 Scale Out 해 Pod를 배치하는 방식이다.CA의 작동방식..
Containers
정의 Helm이란 Chart라는 패키지 형식을 사용해 Kubernetes의 패키지 관리를 도와준다. 여기서 Chart는 Kubenernetes 리소스의 집합을 설명하는 Yaml 파일 모음이라고 생각하면 된다. 흔히 패키지 관리를 도와주는 npm과 pip와 같은 역할을 하는데 Helm의 경우 Pod를 구성하기 위해 필요한 모든 리소스들을(예: 서비스, 디플로이먼트, 파드 등) 패키지화 한 것이라고 생각하면 된다. Helm Chart를 검색하는 방법은 구글에서 원하는 것 + helm chart라고 검색하면 Github 링크가 나올 것이다. 유명한 툴들은 보통 공식 github에 helm chart가 다 구성되어 있으니 이렇게 찾으면 된다. 그게 아니어도 https://artifacthub.io/ 라는 좋은 ..
도커에 대한 정의 소프트웨어를 컨테이너라는 표준화된 유닛으로 패키징한 것 컨테이너 안에는 라이브러리, 시스템 도구, 코드, 런타임 등 소프트웨어를 실행하는 데 필요한 모든 것이 포함되어 있다. 간단히 말해 컨테이너 기반의 오픈소스 가상화 플랫폼이며, 애플리케이션을 환경에 구애받지 않고 실행하는 기술이라고 생각하면 된다. 도커를 쓰는 이유? 독립적 환경 제공 가상 컴퓨팅 즉 VM 같은 경우에는 한 물리적 컴퓨터 안에 각각 OS를 가동하는 가상 컴퓨터들이 물리적 자원을 분할해서 사용한다. 도커는 OS 단 까지 내려가는 게 아니라 컨테이너라는 환경으로 독립적인 공간을 사용해 실행 환경만 독립적으로 돌리게 되어 다른 업무 및 서비스 환경에 방해가 되지 않는다. 그래서 오버헤드가 적고 성능 손실이 적다. 반면, ..