hpa 3

쿠버네티스의 HPA/VPA 오토스케일링을 위한 모니터링 아키텍처

쿠버네티스의 HPA/VPA 오토스케일링을 위한 모니터링 아키텍처 조대협 (http://bcho.tistory.com) 쿠버네티스에서 HPA/VPA는 내부 메트릭을 이용하여 오토스케일링을 판단하는데, 이를 위해서 내부 메트릭을 수집하고 서빙하기 위한 모니터링 아키텍쳐가 어떻게 구현되었는지에 대해서 알아본다. 각 노드에서 동작하는 컨테이너에 대한 리소스 정보 (CPU,메모리, 네트워크 사용량)은 cAdvisor를 통하여 수집되어 Kubelet을 통해서, 컨트롤 플레인에 전달된다. cAdvisot는 컨테이너에 대한 리소스 정보만 수집하지만, Kubelet은 컨테이너 이외의 노드나 애플리케이션에 대한 정보를 수집한다. 이렇게 Kubelet에 저장된 정보는 metric server로 전달되고, metric api..

KNative Auto scaling

KNative 를 보던중에, Autoscaling 처리를 어떻게 하는지 확인해보니, 기본은 Knative instance (한 Pod 겠지) 당 처리할 수 있는 concurrent request 수를 정해놓고, 이를 넘을 경우에 auto scaling 하는 방식이다. CPU가 아니라 connection 수를 통해서 한다. containerConcurrency limits the amount of concurrent requests are allowed into the application at a given time (hard limit), and is configured in the revision template.스케일링 설정은 spec: template: metadata: autoscaling.kn..

쿠버네티스 #26 - 오토스케일러

#26 쿠버네티스 오토 스케일러조대협 (http://bcho.tistory.com) 쿠버네티스에서는 리소스 부족을 처리하기 위해서, 오토 스케일러를 사용할 수 있다.. 쿠버네티스는 용도에 따라 몇가지 다른 오토스케일러를 제공하는데 각각을 살펴보도록 하자Vertical Pod Auto-scaler (VPA)Pod의 Resource(CPU,Memory) 적절 request를 결정하는 다른 방법으로는 Vertical Pod Auto-scaler(VPA)를 사용하는 방법이 있다. 현재 beta 기능인데, 쿠버네티스 1.11 버전 이상에 별도로 추가 설치해야 한다. 참고 : https://github.com/kubernetes/autoscaler/tree/master/vertical-pod-autoscalerVP..