Skalowanie aplikacji i klastrów w Kubernetesie

Jedną z ważniejszych korzyści, jakie zapewnia Kubernetes, jest możliwość łatwego skalowania aplikacji. Skalowanie aplikacji pozwala uruchomić ją na dowolnej liczbie serwerów, aby obsłużyć rosnącą liczbę użytkowników.

Aplikacje i klastry możemy skalować:

Wertykalnie

zwiększanie zasobów aktualnych węzłów (CPU, RAM, ilość kontenerów): 

a) VPA https://github.com/kubernetes/autoscaler/tree/master/vertical-pod-autoscaler

Horyzontalnie

tworzenie nowych węzłów obliczeniowych:

a) HPA (Horizontal Pod Autoscaling) (Deployment, StatefulSet) – automatyczne dostosowywanie liczby replik pod względem wykorzystania zasobów. Dzięki temu można zoptymalizować wydajność aplikacji i zapobiec przeciążeniu systemu. 

b) Autoscaler – automatyczne dodawanie nowych węzłów poprzez API https://github.com/kubernetes/autoscaler/tree/master/cluster-autoscaler