Multidim Pod Autoscaler (MPA)¶
The Multidim Pod Autoscaler (MPA), or Multidimensional Pod Autoscaling, is an autoscaling feature that allows a cluster to scale using multiple methods simultaneously.^[400-devops__06-Kubernetes__k8s-ithelp__Day25__README.md]
This capability enables the combination of [[Horizontal Pod Autoscaler (HPA)]] and [[Vertical Pod Autoscaler (VPA)]] strategies within the same deployment.^[400-devops__06-Kubernetes__k8s-ithelp__Day25__README.md]
Platform Availability¶
Currently, MPA is a proprietary feature exclusive to Google Cloud Platform's GKE (Google Kubernetes Engine).^[400-devops__06-Kubernetes__k8s-ithelp__Day25__README.md] Because the upstream Kubernetes autoscaler project has not yet implemented multidimensional scaling, other cloud platforms and local environments (such as Docker Desktop) do not support this feature.^[400-devops__06-Kubernetes__k8s-ithelp__Day25__README.md] As of the source documentation, this functionality remains in the Beta stage on GKE.^[400-devops__06-Kubernetes__k8s-ithelp__Day25__README.md]
Scaling Configuration¶
MPA allows for a specific division of labor between resource Metrics:
- CPU: Scaling is handled via HPA (Horizontal Pod Autoscaler).^[400-devops__06-Kubernetes__k8s-ithelp__Day25__README.md]
- Memory: Scaling is handled via VPA (Vertical Pod Autoscaler).^[400-devops__06-Kubernetes__k8s-ithelp__Day25__README.md]
Because the VPA component manages memory in this setup, cpu requests and limits must be manually defined in the deployment's resources configuration beforehand.^[400-devops__06-Kubernetes__k8s-ithelp__Day25__README.md] This differs from a standard VPA setup, where the VPA might typically manage both CPU and memory.
Sources¶
- 400-devops__06-Kubernetes__k8s-ithelp__Day25__README.md
Related¶
- [[Horizontal Pod Autoscaler (HPA)]]
- [[Vertical Pod Autoscaler (VPA)]]
- Cluster Autoscaler
- Kubernetes