Kubernetes (अक्सर K8s लिखा जाता है) एक ओपन-सोर्स container orchestration प्लेटफ़ॉर्म है। यह मशीनों के एक cluster पर containerized applications को deploy करने, scale करने, networking और healing को स्वचालित करता है, इसलिए आप केवल desired state का वर्णन करते हैं और Kubernetes लगातार काम करता रहता है ताकि वास्तविकता उससे मेल खाए।
समस्या: बड़े पैमाने पर containers चलाना कठिन है
आपके पास containers हैं (Docker से), लेकिन production में आपको ये भी जवाब देने होंगे:
→ हर container KIS मशीन पर चलता है? (scheduling)
→ अगर कोई container crash हो जाए तो? (self-healing / restarts)
→ अगर पूरा node मर जाए तो? (कहीं और reschedule करना)
→ 50 replicas एक-दूसरे को कैसे ढूँढें और बात करें? (service discovery)
→ मैं zero downtime के साथ नया version कैसे roll out करूँ? (rolling updates)
→ traffic spike पर 3 से 30 replicas तक कैसे scale करूँ? (autoscaling)
कई servers पर यह सब हाथ से करना scale नहीं करता।
