Kubernetes umí škálovat. Ale správně nakonfigurovat autoscaling tak, aby reagoval na reálnou zátěž, neplýtval zdroji a nezkolaboval pod špičkou — to je umění.
Tři vrstvy autoscalingu¶
- HPA — přidává/odebírá pody (pro stateless služby)
- VPA — mění CPU/RAM limity podů (pro monolity)
- Cluster Autoscaler — přidává/odebírá nody
Custom metriky místo CPU¶
Výchozí HPA škáluje podle CPU, ale to nestačí. Přes Prometheus Adapter jsme přidali requests/sec, latency p95 a queue depth. Teď HPA škáluje na základě toho, co opravdu záleží.
Overprovisioning pro rychlý scale-up¶
Nový AKS node trvá 3-5 minut. Řešení: udržujeme „prázdný” node s pause containery, okamžitě k dispozici pro reálné workloady. Cluster Autoscaler přidá nový node na pozadí.
Spot instances — úspora 60-80 %¶
Pro fault-tolerant workloady (batch, CI/CD, dev) používáme Azure Spot VMs v dedikovaném node poolu. Produkce vždy na on-demand.
Největší chyba: špatné resource requests¶
Vývojáři nastavili 2 CPU a 4 GB RAM „pro jistotu”. Reálná utilizace 15 %. Cluster Autoscaler přidával nody zbytečně. Řešení: VPA v recommendation mode.
Autoscaling vyžaduje investici¶
Není to „zapni a zapomeň”. Správné metriky, realistické requests a průběžné ladění — ale odměna je systém, který zvládne špičky automaticky.