Cluser Autoscaler#
License: Apache 2.0
Cluster Autoscaler is a component that automatically adjusts the size of a Kubernetes Cluster so that all pods have a place to run and there are no unneeded nodes.
EKS-A#
In EKS Anywhere cluster autoscaler is implemented using the cluster-api vsphere provider. This is used in EKS Anywhere along with the WorkerNodeGroups to provide autoscaling whereas in EKS, most node pools are done by Karpenter.
EKS#
In EKS cluster autoscaler uses the AWS cloud provider. This is only used for the core node pool and legacy node pool. User/tenant node pools are managed by karpenter.
Links#
-
Code: https://github.com/kubernetes/autoscaler/cluster-autoscaler
-
Releases: https://github.com/kubernetes/autoscaler/cluster-autoscaler/releases
-
Documentation:
- General Documentation(AWS): https://github.com/kubernetes/autoscaler/blob/master/cluster-autoscaler/cloudprovider/aws/README.md
- General Documentation(ClusterAPI): https://github.com/kubernetes/autoscaler/blob/master/cluster-autoscaler/cloudprovider/clusterapi/README.md
- FAQ: https://github.com/kubernetes/autoscaler/blob/master/cluster-autoscaler/FAQ.md
-
Helm:
-
Implementation:
- EKS: AWS configurations
- EKS: AWS Autoscaler Node pools
https://code.vt.edu/it-common-platform/infrastructure/eks-cluster/-/blob/main/eks/eks.tf
- EKS-A:
- EKS-A: Worker Node Groups
https://code.vt.edu/it-common-platform/infrastructure/eksa-vsphere/-/blob/main/workloadcluster.yaml