Kubernetes를 사용할 때 아주 중요한 설정이 있습니다. Karpenter와 같은 오토스케일러와 맞물리면 더욱 빛을 보게 되는 설정인데 바로 PodDisruptionBudget(PDB) 입니다. 오토스케일러를 Karpenter로 예를 들어 설명해 보겠습니다. consolidation으로 노드가 제거될 수도 있고 spot을 이용 중이라면 spot 종료 이벤트를 받을 수도 있습니다. 이때 해당 노드에 서비스되는 모든 pod가 한순간에 모두 종료 돼버린다면 자칫 서비스에 다운타임이 발생할 수도 있습니다. 이때 필요한 게 PDB입니다.PDB를 쉽게 설명하자면 무슨 일이 있어도 지정된 개수의 pods는 유지를 해달라는 설정입니다(이외에 다른 조건도 설정할 수 있습니다). 배포를 위해 Deployments를 ..
쿠버네티스는 컨테이너 오케스트레이션 도구입니다. 컨테이너는 쿠버네티스에서 파드(pod)라는 개념으로 감싸집니다. 하나의 파드는 한 개 이상의 컨테이너를 가질 수 있습니다. 즉, 애플리케이션 컨테이너 한 개와 그 옆에 사이드카 패턴으로 다른 컨테이너를 붙여서 하나의 파드로 운영하는 것이 가능합니다. 각설하고, 이번 글에서는 파드를 수평 확장(Scale-out)하는 방법인 HPA(Horizontal Pod Autoscaling)와 노드를 수평 확장하는 카펜터(Karpenter)를 엮어서 개념을 이야기해 보도록 하겠습니다. 언제나와 마찬가지로 글에 잘못된 부분이 있거나 토론이 필요한 부분이 있다면 댓글로 의견 부탁드립니다 :-) # HPA(Horizontal Pod Autoscaling) Deployment로..
개인적으로 공부한 내용을 정리하고 있는 글입니다. 글에 잘못된 부분이 있다면 인상을 쓰기보다는 제가 상처받지 않도록 부드럽고 자유롭게 의견 부탁드립니다. :-) # 마스터, 노드, 파드(pod) 개념 잡기 쿠버네티스의 가장 큰 핵심 기능은 컨테이너 오케스트레이션이다. 여러 개의 컨테이너의 상태를 확인하고 관리한다는 의미인데 트래픽의 증가 처럼 리소스가 더 필요한 상황이 되면 컨테이너를 증설(일종의 스케일-아웃 / 수평 확장)하기도 하고, 비정상 상태에 빠진 컨테이너를 종료하거나 새로운 컨테이너를 생성하는 등의 역할을 수행한다는 개념이다. 오케스트라에서 지휘자가 단원들을 지휘 하듯이 말이다. 이렇게 컨테이너를 오케스트레이션 가능하게 만드는 첫 번째 개념이 컴포넌트 집합이라고 할 수 있겠는데 바로 "마스터 ..
- Total
- Today
- Yesterday