오토스케링을 통해 아래 정보를 자동으로 조절 가능하다.

  • Pod Level
  • Node Level
  • Manually 미리 예상되는 Traffic 처리에 적합
  • Automatically 예측하기 어려운 Workload 처리에 적합
  • Horizotal 복제 Pod 를 추가하여 Workload 를 처리
    - 확장을 스케일아웃으로 추가
  • Vertical running Pod 에 적용되지 않고 생성시 적용
    - pod내의 용량을 증설한다.

수동 확장

  • RC, RS, Deployment, sts 컨트롤러에 replicas를 통해 스케일아웃가능하다.
    (Deamonset은 고정적이다. 스케일아웃 안됨. replicas 지원하지 않는다.)

 

자동 확장

  • 임계치를 지정할 메트릭스가 필요하다.
  • CPU 사용량에 대해 임계치를 생성한다.
  • 메트릭스서버를 런칭 하여 -> limit range를 설정

HPA(Horizontal Pod Autoscaler)

  • k8s 내에서 수평적확장 (HPA)
  • 스케일을 지원하는 컨트롤러
  • kubelete가 각각 pod, node의 대한 정보를 gathering 한다.

HPA에서 가장 많이 사용하는 메트릭스? : CPU, QPS (초당 쿼리 수)

 

deployment 기반의 pod를 배포

  • request, limit 설정 한다.
  • 각각 controller마다 HPA를 적용해야 한다.

yaml로 hpa 적용 확인 방법

  • 50% 사용율 이상이 되면 replicas 를 이용해 pod의 숫자를 올린다.
  • 50% 사용율 이하면 replicas 를 이용해 pod의 숫자를 내린다.

 

'클라우드 컴퓨팅 & NoSQL > k8s' 카테고리의 다른 글

RBAC  (0) 2020.12.06
HPA 설정  (0) 2020.12.06
monitoring 구축  (0) 2020.12.06
Monitoring  (0) 2020.12.06
statefulset 시나리오  (0) 2020.12.06

+ Recent posts