AutoScaler

2023. 2. 8. 14:11· Kubernetes
목차
  1. HPA (Horizontal Pod AutoScaler)
  2. 동작 원리
  3. HPA 요소
  4. VPA (Vertical Pod Autoscaler)
  5. CA (Cluster Autoscaler)
반응형

HPA (Horizontal Pod AutoScaler)

  • HPA를 Controller에 연결하면 HPA가 해당 Controller의 Pod 자원 사용량을 체크
  • 임계치 이상 자원을 사용하면 Controller의 replicas를 늘려 Pod을 scale out 시킴
  • 적절한 조건
    • 기동이 빠르게 되는 App에 적용해야 함
    • Stateless App에 적용해야 함

동작 원리

  1. Node마다 존재하는 Resource Estimator인 cAdvisor가 Container 리소스 사용량을 체크하고 kubelet은 cAdvisor로부터 리소스 정보를 수집
  2. metrics server(Pod)를 설치하면 각 Node의 kubelet으로부터 리소스 사용량을 종합하여 수집
  3. metrics server는 control plane의 kube-apiserver에 Resource API를 저장
  4. HPA는 kube-apiserver의 Resource API를 15초(default)마다 체크
  5. 리소스 사용량이 높아지면 replicaSet의 replicas를 증가시킴

HPA 요소

옵션 설명 비고
target 리소스 체크할 Deployment(replicaSet) 지정  
maxReplicas 최대 replicas 갯수  
minReplicas 최소 replicas 갯수  
metrics.type.Resouce 리소스 사용량  
metrics.type.Pods pod와 관련된 정보 addons 플러그인 필요
metrics.type.Object 다른 자원의 사용량 addons 플러그인 필요
metrics.type.name 체크할 리소스 종류 cpu, memory
metrics.type.target.type HPA를 작동시킬 리소스 사용 기준 Utilization, AverageValue, Value

VPA (Vertical Pod Autoscaler)

  • VPA를 Controller에 연결하면 VPA가 해당 Controller의 Pod 자원 사용량을 체크
  • 임계치 이상 자원을 사용하면 Pod의 자원 할당량을 늘려 Scale up 시킴
  • 적절한 조건
    • Stateful App에 적용
    • HPA와 함께 사용하면 안됨

CA (Cluster Autoscaler)

  • Scheduler가 어떤 Node에도 Pod을 추가할 수 없을 때 연결된 CA에게 생성 요청
  • CA는 사전에 연결된 Cloud Provider에 Node를 추가로 생성하여 Pod 생성 가능하도록 함
  • 기존 Node에 자원 여유가 생기면 CA가 만들었던 Node를 삭제하고 생성한 Pod을 기존 Node로 이동
 
반응형

'Kubernetes' 카테고리의 다른 글

Authentication / Authorization  (0) 2023.02.09
Controller  (0) 2023.02.08
Ingress  (0) 2023.02.08
StatefulSet  (0) 2023.02.08
DaemonSet, Job, CronJob  (0) 2023.02.08
  1. HPA (Horizontal Pod AutoScaler)
  2. 동작 원리
  3. HPA 요소
  4. VPA (Vertical Pod Autoscaler)
  5. CA (Cluster Autoscaler)
'Kubernetes' 카테고리의 다른 글
  • Authentication / Authorization
  • Controller
  • Ingress
  • StatefulSet
dongb
dongb
Actions lead thoughts.
dongb
Now or Never
dongb
전체
오늘
어제
  • 분류 전체보기 (87)
    • Kotlin (23)
    • Spring (24)
    • Java (5)
    • Istio (7)
    • Kubernetes (19)
    • CICD (2)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • spring data jpa
  • Service
  • 네트워크
  • POD
  • configmap
  • ChatGPT
  • kubernetes
  • Test
  • 챗GPT
  • Database
  • java
  • skaffold
  • GPT-4
  • oauth2.0
  • volume
  • Kotlin
  • GPT

최근 댓글

최근 글

hELLO · Designed By 정상우.v4.2.2
dongb
AutoScaler
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.