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