Met de Kubernetes Cluster Autoscaler laat je het aantal Kubernetes worker nodes in een nodepool automatisch aanpassen aan de behoefte van je workloads. Je stelt per nodepool een minimum- en maximumaantal nodes in. De Cluster Autoscaler voegt binnen deze grenzen nodes toe of verwijdert ze. Autoscaling is beschikbaar vanaf Kubernetes 1.35. Oudere Kubernetes-versies worden niet ondersteund.
In onze handleiding ‘Hoe gebruik ik de Kubernetes Cluster Autoscaler’ leggen we uit hoe je de Cluster Autoscaler gebruikt voor jouw Kubernetes-cluster.
Automatisch toegevoegde nodes worden tegen het normale tarief in rekening gebracht zolang ze actief zijn. Kies daarom bewust een maximum aantal nodes.
Hoe werkt de Kubernetes Autoscaler?
De autoscaler schaalt een nodepool op wanneer pods niet ingepland kunnen worden door een tekort aan beschikbare resources en een extra node uit de nodepool dit kan oplossen.
De nodepool wordt afgeschaald wanneer nodes gedurende langere tijd niet nodig zijn en de pods op die nodes veilig op andere nodes kunnen draaien. Het aantal nodes blijft daarbij tussen minNodeCount en maxNodeCount. De autoscaler reageert dus niet rechtstreeks op het gemeten CPU- of geheugengebruik. Kubernetes kijkt onder andere naar de resource requests en planningsvoorwaarden van pods. Stel daarom passende CPU- en geheugenrequests in voor je workloads.
Hoe werkt Horizontal Pod Autoscaler samen met Cluster Autoscaler?
Horizontal Pod Autoscaler (HPA) past het aantal replica's van een deployment of replicaset aan op basis van de huidige CPU-belasting. Als de belasting toeneemt, maakt HPA nieuwe replica's aan, waarvoor mogelijk niet voldoende ruimte in het cluster beschikbaar is. Als er onvoldoende resources zijn, probeert Cluster Autoscaler (CA) extra nodes op te starten, zodat de door HPA aangemaakte pods een plek hebben om te draaien. Als de belasting afneemt, stopt HPA een aantal replica's. Hierdoor kunnen sommige nodes onderbenut raken of volledig leeg komen te staan, waarna CA deze onnodige nodes beëindigt.
Hoe kan ik de Kubernetes Cluster Autoscaler monitoren?
Cluster Autoscaler biedt metrics en livenessProbe-eindpunten. Standaard zijn deze beschikbaar op poort 8085 (configureerbaar met de vlag --address), respectievelijk onder /metrics en /health-check. De metrics worden geleverd in Prometheus-formaat en een gedetailleerde beschrijving ervan is hier beschikbaar.