Automatisch opschalen

Zoals je wellicht weet kun je pods opschalen (scalen) door in de Deployment of ReplicaSet de waarde van ‘replicas’ te verhogen. Dit is wellicht een methode die je gebruikt als je van te voren kunt inzien hoeveel replicas je nodig hebt, maar als je dat niet weet is het een betere optie om automatisch te scalen.

Hiervoor zijn zogenaamde ‘metrics’ beschikbaar die detecteren of de pods over een bepaalde waarde (treshold) gaan voor wat betreft CPU gebruik of enkele andere metrics zoals netwerk-traffic. De metrics-API-server is hiervoor verantwoordelijk en vraagt periodiek naar de metrics van de nodes via ‘kubelet‘. Kubelet maakt gebruik can de cAdvisor, een service die standaard aanwezig is in een Docker omgeving. Daarnaast wordt door kubelet ook metrics doorgegeven aan o.a. de external.metrics.k8s.io die gebruikt kan worden door Horizontal Pod Autoscaling. Zie ook dit artikel op kubernets.io.

Horizontal Pod Autoscaling (hpa)

Hpa is het automatisch schalen van het aantal pods dat is nodig om te voldoen aan de ingestelde waarde van bepaalde metrics. Indien nodig zal de Autoscaler de waarde van ‘replicas’ in Deployments of ReplicaSets aanpassen.