Cluster Autoscaler

Definition

Cluster Autoscaler is a component used in Kubernetes environments to automatically adjust the size of a cluster based on the current workload demands. It scales up the cluster by adding nodes when there are pending pods that cannot be scheduled due to resource constraints and scales down by removing underutilized nodes, ensuring efficient resource utilization and cost management.

Secure Settings Example

apiVersion: autoscaling/v1
kind: ClusterAutoscaler
metadata:
  name: cluster-autoscaler
  namespace: kube-system
spec:
  scaleDown:
    enabled: true
    delayAfterAdd: 10m
    delayAfterDelete: 10s
    delayAfterFailure: 3m
    unneededTime: 10m
  balanceSimilarNodeGroups: true
  expander: least-waste
  maxNodeProvisionTime: 15m

Insecure Settings Example

apiVersion: autoscaling/v1
kind: ClusterAutoscaler
metadata:
  name: cluster-autoscaler
  namespace: kube-system
spec:
  scaleDown:
    enabled: false
  balanceSimilarNodeGroups: false
  expander: random
  maxNodeProvisionTime: 60m