Koncept – možnosti škálování Kubernetes
Někdy není škálování počtu podů tak, aby zvládlo zvýšenou poptávku, dost. Aby se clustery mohli přizpůsobit měnícím se požadavkům aplikací, například mezi pracovním dnem a večerem nebo o víkendu, často potřebují způsob automatického škálování.
Možnosti škálování Kubernetes
Clustery Kubernetes se můžou škálovat pomocí jedné z následujících komponent:
- Automatické škálování clusteru, které sleduje pody, které nejde naplánovat na uzlech kvůli omezením prostředků. Cluster automaticky zvýší počet uzlů, aby splňoval poptávku.
- Horizontální automatické škálování podů (HPA), který používá server metrik v clusteru Kubernetes k monitorování požadavků na prostředky podů. Pokud aplikace potřebuje více prostředků, počet podů se automaticky zvýší tak, aby splňoval poptávku.
Automatické škálování hpa i clusteru také může podle potřeby snížit počet podů a uzlů. Automatické škálování clusteru sníží počet uzlů v době, kdy je čas s nevyužitou kapacitou. Všechny pody v uzlu, který musí automatické škálování clusteru odebrat, jsou bezpečně naplánované jinde v clusteru.
Automatické škálování clusteru nemusí být možné vertikálně snížit kapacitu v situacích, kdy se pody nedají přesunout, například:
- Pod se vytvoří přímo a není zálohovaný objektem kontroleru, jako je nasazení nebo sada replik.
- Rozpočet na přerušení podů (PDB) je příliš omezující a neumožňuje, aby počet podů byl nižší než určitá prahová hodnota.
- Pod používá selektory uzlů nebo spřažení, které nelze respektovat, pokud je naplánováno na jiném uzlu.
Použití KEDA s HPA
KEDA funguje jako vlastní rozhraní API metrik, které využívá škálovací nástroje k zveřejnění metrik hpA, což zjednodušuje proces vývoje serveru metrik.
Škálovací nástroje pomáhají poskytovat metriky z různých zdrojů do prostředí HPA. KEDA podporuje širokou škálu škálovačů, mezi které patří:
- Apache Kafka
- AWS CloudWatch
- AWS Kinesis Stream
- Fronta AWS SQS
- Azure Blob Storage
- Azure Event Hubs
- Azure Log Analytics
- Azure Monitor
- Azure Service Bus
- Fronta služby Azure Storage
- Google Cloud Platform Pub/Sub
- IBM MQ V8.0.0.1
- InfluxDB
- Streamování NATS
- OpenStack Swift
- PostgreSQL
- Prometheus
- Fronta RabbitMQ
- Seznamy Redis
Úplný seznam najdete v tématu Aktuálně dostupné škálovače pro KEDA.