Kubernetes (sering disingkat K8s) adalah platform container orchestration open-source. Ia mengotomatiskan deployment, scaling, networking, dan pemulihan aplikasi terkontainerisasi di seluruh cluster berisi banyak mesin, sehingga Anda cukup mendeskripsikan desired state dan Kubernetes terus bekerja agar kenyataan sesuai dengannya.
Masalahnya: menjalankan container dalam skala besar itu sulit
Anda punya container (dari Docker), tapi di production Anda juga harus menjawab:
→ Di MESIN MANA setiap container berjalan? (scheduling)
→ Bagaimana jika sebuah container crash? (self-healing / restart)
→ Bagaimana jika satu node mati sepenuhnya? (jadwalkan ulang di tempat lain)
→ Bagaimana 50 replica saling menemukan dan berkomunikasi? (service discovery)
→ Bagaimana merilis versi baru tanpa downtime sama sekali? (rolling update)
→ Bagaimana scale dari 3 ke 30 replica saat lonjakan trafik? (autoscaling)
Melakukan semua ini secara manual di banyak server tidak akan scalable.
