Kubernetes (ਅਕਸਰ K8s ਕਹਿ ਕੇ ਸੰਖੇਪ ਕੀਤਾ ਜਾਂਦਾ ਹੈ) ਇੱਕ ਓਪਨ-ਸੋਰਸ container orchestration ਪਲੇਟਫਾਰਮ ਹੈ। ਇਹ ਮਸ਼ੀਨਾਂ ਦੇ ਇੱਕ cluster ਵਿੱਚ container ਵਾਲੀਆਂ ਐਪਲੀਕੇਸ਼ਨਾਂ ਦੇ deploying, scaling, networking, ਅਤੇ healing ਨੂੰ ਆਟੋਮੇਟ ਕਰਦਾ ਹੈ, ਇਸ ਲਈ ਤੁਸੀਂ desired state ਦਾ ਵਰਣਨ ਕਰਦੇ ਹੋ ਅਤੇ Kubernetes ਲਗਾਤਾਰ ਕੰਮ ਕਰਦਾ ਹੈ ਤਾਂ ਜੋ ਹਕੀਕਤ ਉਸ ਨਾਲ ਮੇਲ ਖਾਵੇ।
ਸਮੱਸਿਆ: ਵੱਡੇ ਪੈਮਾਨੇ 'ਤੇ container ਚਲਾਉਣਾ ਔਖਾ ਹੈ
ਤੁਹਾਡੇ ਕੋਲ container ਹਨ (Docker ਤੋਂ), ਪਰ production ਵਿੱਚ ਤੁਹਾਨੂੰ ਇਹ ਵੀ ਜਵਾਬ ਦੇਣੇ ਪੈਂਦੇ ਹਨ:
→ ਹਰ container ਕਿਹੜੀ ਮਸ਼ੀਨ 'ਤੇ ਚੱਲਦਾ ਹੈ? (scheduling)
→ ਜੇ ਕੋਈ container crash ਹੋ ਜਾਵੇ ਤਾਂ? (self-healing / restarts)
→ ਜੇ ਪੂਰਾ node ਮਰ ਜਾਵੇ ਤਾਂ? (ਕਿਤੇ ਹੋਰ reschedule ਕਰੋ)
→ 50 replica ਇੱਕ-ਦੂਜੇ ਨੂੰ ਕਿਵੇਂ ਲੱਭਣ ਤੇ ਗੱਲ ਕਰਨ? (service discovery)
→ ਜ਼ੀਰੋ downtime ਨਾਲ ਨਵਾਂ version ਕਿਵੇਂ roll out ਕਰਾਂ? (rolling updates)
→ traffic spike 'ਤੇ 3 ਤੋਂ 30 replica ਤੱਕ ਕਿਵੇਂ scale ਕਰਾਂ? (autoscaling)
ਇਹ ਸਭ ਕਈ server 'ਤੇ ਹੱਥੀਂ ਕਰਨਾ scale ਨਹੀਂ ਹੁੰਦਾ।
