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ć:

  1. 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

  2. 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