Kubernetes (često skraćeno K8s) je open-source platforma za orkestraciju kontejnera (container orchestration). Automatizira postavljanje (deploy), skaliranje, umrežavanje i samoizlječenje kontejneriziranih aplikacija preko klastera strojeva, pa vi opisujete željeno stanje (desired state), a Kubernetes neprestano radi na tome da stvarnost odgovara tom stanju.
Problem: pokretanje kontejnera u velikoj mjeri je teško
Imate kontejnere (iz Dockera), ali u produkciji morate odgovoriti i na:
→ Na KOJEM stroju se pokreće svaki kontejner? (scheduling)
→ Što ako se kontejner sruši? (self-healing / restarti)
→ Što ako otkaže cijeli node? (ponovno raspoređivanje drugdje)
→ Kako 50 replika pronalazi i komunicira međusobno? (service discovery)
→ Kako izbaciti novu verziju bez ijedne sekunde nedostupnosti? (rolling updates)
→ Kako skalirati s 3 na 30 replika pri naglom skoku prometa? (autoscaling)
Raditi sve to ručno preko mnogo servera jednostavno ne skalira.
