본문 바로가기
IT/Kubernetes

쿠버네티스는 어떻게 노드, 파드를 관리할까?

by FreeYourMind 2021. 10. 1.

CA(Cluster Autoscaler) 

- Kubernetes 클러스터에 있는 노드를 관리하는 역할

1) CA는 기본 10초 간격으로 보류 상태의 파드를 확인

2) 클러스터에 사용할 수 있는 리소스가 부족하여 클러스터에 할당할 수 있는 하나 이상의 파드가 보류 상태인 경우 노드를 프로비저닝함

3) CSP가 노드를 부여하면 노드가 클러스터에 연결

4) K8S 스케줄러는 보류 중인 파드를 새 노드에 할당, 보류 상태인 파드가 많을 경우 위 프로세스를 반복함

5) 클러스터에 낭비되는 노드가 있을 경우 삭제

- 노드를 축소하기 전에는 기본적으로 10분 정도를 실제로 낭비되는 자원인지 지켜봄

 

HPA(Horizontal Pod Autoscaler)

- 파드의 개수를 증감시킴(Scale out, in)

- K8S API 리소스 및 컨트롤러로 구현

- Stateless App일 때 사용

1) HPA는 기본 15초 간격으로 지정된 메트릭의 리소스 사용률을 확인함

2) 지정된 임계값이 초과되면 HPA는 해당하는 파드를 scale out함

3) HPA는 주로 deployment, replica set의 replica 수를 업데이트 함

 

VPA(Vertical Pods Autoscaler)

- 파드의 스펙을 증감시킴(Scale up, down)

- 리소스를 변경하기 위해서는 파드를 다시 시작해야만 함

- Manual 모드로 설정 시, VPA가 적절하게 필요한 request 양을 추천함

- Stateful App일 때 사용

- VPA와 HPA는 양립할 수 없음

 

 

출처

https://st-soul.tistory.com/69

https://bcho.tistory.com/1349

https://kubernetes.io/ko/docs/tasks/run-application/horizontal-pod-autoscale/

 

 

 

'IT > Kubernetes' 카테고리의 다른 글

imagePullPolicy:always  (0) 2022.05.28
[K8S] Cluster Networking  (0) 2022.03.24
왜 Pod가 필요할까? (Container와 Pod의 관계)  (0) 2021.09.25
쿠버네티스의 내부 구성  (0) 2021.09.25
쿠버네티스란 무엇일까?  (0) 2021.09.22

댓글