Koncept – možnosti škálování Kubernetes

Dokončeno

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.

Kontrola znalostí

1.

Vaše úloha provádí transformaci fotek náročných na procesor. Kterou možnost škálování byste měli zvolit?

2.

Váš cluster se v době špičky blíží používání všech dostupných prostředků. Kterou možnost škálování byste měli použít?

3.

Vaše služba zpracovává zprávy z fronty Apache Kafka. Kterou možnost škálování byste měli zvolit?