Overview - Auto-Scaling of IKS on VPC
IBM Cloud Kubernetes Service is a managed offering to create your own Kubernetes cluster of compute hosts to deploy and manage containerized apps on IBM Cloud. As a certified Kubernetes provider, IBM Cloud Kubernetes Service provides intelligent scheduling, self-healing, horizontal scaling, service discovery and load balancing, automated rollouts and rollbacks, and secret and configuration management for your apps.
To understand the sample cluster architectures and the components that are created in an IBM Cloud Kubernetes Service VPC cluster architecture, kindly refer this link. It describes the default components that are setup and how they interact with each other.
Automatic scaling in Kubernetes comes in two forms:
Horizontal Pod Autoscaler (HPA) scales the pods in a deployment or replica set. It is autoscaling at pod level.
It is implemented as a Kubernetes API resource and a controller. The controller manager queries the resource utilization against the metrics specified in each HorizontalPodAutoscaler definition. For more details, please refer this.
Cluster Autoscaler (CA) is the Kubernetes component that can be used to perform scaling nodes in a cluster. It periodically scans the cluster to adjust the number of worker nodes within the worker pools for pending pods to scales-up and to scale down underutilized worker nodes. The following diagram depicts the flow it works.
To know more in detail, you can read here.