|
There are two types of auto-scaling concepts typically associated with Kubernetes. Horizontal auto-scaling is the concept of scaling pods based on system utilization. It is accomplished by configuring K8 resources based on observed application utilization metrics (namely CPU) that specifies how many replicas of a pod the replication controller should deploy. Node auto-scaling is the concept of scaling nodes up or down based on the capacity to deploy pods. Node autoscaling on EKS is implemented by integrating Kubernetes with AWS Auto-Scaling Groups so that the number of nodes will automatically increase or decrease based on pod capacity. There is no auto-scaling of Kubernetes nodes or pods enabled by default. We will need implement both in order to support FOLIO performance testing in a Kubernetes cluster as well as ensure we have enough node capacity to continuously deploy new modules.
Horizonal auto-scaling is described further here: https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/
Node auto-scaling is described here: https://github.com/kubernetes/autoscaler/blob/master/cluster-autoscaler/cloudprovider/aws/README.md
|