Koncepcja — opcje skalowania platformy Kubernetes
Czasami skalowanie liczby zasobników do obsługi zwiększonego zapotrzebowania nie wystarczy. Aby dostosować się do zmieniających się wymagań aplikacji, takich jak między dniem roboczym a wieczorem lub w weekend, klastry często wymagają sposobu automatycznego skalowania.
Opcje skalowania platformy Kubernetes
Klastry Kubernetes mogą być skalowane przy użyciu jednego z następujących składników:
- Narzędzie do automatycznego skalowania klastra, które wyszukuje zasobniki, których nie można zaplanować w węzłach z powodu ograniczeń zasobów. Klaster automatycznie zwiększa liczbę węzłów, aby zaspokoić zapotrzebowanie.
- Narzędzie Horizontal Pod Autoscaler (HPA) korzystające z serwera metryk w klastrze Kubernetes do monitorowania zapotrzebowania zasobników na zasoby. Jeśli aplikacja potrzebuje większej ilości zasobów, liczba zasobników zostanie automatycznie zwiększona, aby zaspokoić zapotrzebowanie.
Zarówno narzędzie HPA, jak i narzędzie do automatycznego skalowania klastra mogą również zmniejszyć liczbę zasobników i węzłów w razie potrzeby. Funkcja skalowania automatycznego klastra zmniejsza liczbę węzłów, gdy występuje okres z nieużywaną pojemnością. Wszystkie zasobniki w węźle, które musi usunąć narzędzie do automatycznego skalowania klastra, są bezpiecznie zaplanowane w innym miejscu w klastrze.
Narzędzie do automatycznego skalowania klastra może nie być w stanie skalować w dół w sytuacjach, w których zasobniki nie mogą się przenosić, na przykład:
- Zasobnik jest tworzony bezpośrednio i nie jest wspierany przez obiekt kontrolera, taki jak wdrożenie lub zestaw replik.
- Budżet na zakłócenia zasobnika (PDB) jest zbyt restrykcyjny i nie pozwala na spadek liczby zasobników poniżej określonego progu.
- Zasobnik używa selektorów węzłów lub anty-koligacji, których nie można przestrzegać, jeśli jest to zaplanowane w innym węźle.
Używanie usługi KEDA z hpa
Usługa KEDA działa jako interfejs API metryk niestandardowych, korzystając ze skalowania w celu uwidaczniania metryk w usłudze HPA, upraszczając proces tworzenia serwera metryk.
Narzędzia skalowania pomagają dostarczać metryki z różnych źródeł do hpa. Usługa KEDA obsługuje szeroką gamę skalowania, w tym:
- Apache Kafka
- AWS CloudWatch
- Strumień kinezy platformy AWS
- Kolejka PLATFORMY AWS SQS
- Azure Blob Storage
- Azure Event Hubs
- Dziennik analizy Azure
- Azure Monitor
- Azure Service Bus
- Kolejka usługi Azure Storage
- Google Cloud Platform Pub/Sub
- IBM MQ
- InfluxDB
- Przesyłanie strumieniowe NATS
- OpenStack Swift
- PostgreSQL
- Prometheus
- Kolejka RabbitMQ
- Listy usługi Redis
Aby uzyskać pełną listę, zobacz Temat Obecnie dostępne elementy skalowania dla KEDA.