오토스케링을 통해 아래 정보를 자동으로 조절 가능하다.
- 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 |