एक पान, पाच तक्ते, प्रत्येक ओळीला शाळेची उपमा — आणि एक "कधी नाही" ओळ, कारण चुकीची वस्तू ही Kubernetes मधली सर्वात सामान्य चूक. प्रिंट करा; आकृत्या आणि triage card शेजारी लावा.
| Deployment | StatefulSet | DaemonSet | |
|---|---|---|---|
| उपमा | वर्गप्रमुख — "नेहमी N", कोणताही बाक | नावाच्या पाट्या असलेले बाक | प्रत्येक मजल्यावर एक अग्निशामक |
| Pods असतात | अदलाबदल करता येणारे, यादृच्छिक नावे | चिकट नावे (postgres-0), क्रमाने सुरू/बंद | प्रत्येक node वर नेमका एक |
| Storage | सामायिक किंवा काहीच नाही | प्रत्येक pod चा स्वतःचा PVC, नावाने पुन्हा जोडलेला | सहसा host paths / node-स्थानिक |
| Scaling | replicas + HPA | replicas, क्रमाने; HPA क्वचित | nodes ची यादी हीच संख्या |
| कशासाठी | stateless ॲप्स, APIs, workers | डेटाबेस, brokers, ओळख असलेले काहीही | log shippers, CNI, node agents, kube-proxy |
| कधी नाही | स्थिर ओळख किंवा स्वतःची डिस्क लागणारे काहीही | stateless ॲप्स (हळू rollouts) — आणि prod डेटासाठी RDS ला पसंती | node नुसार नव्हे, load नुसार वाढणारी ॲप्स |
| ClusterIP | NodePort | LoadBalancer | Ingress | |
|---|---|---|---|---|
| उपमा | शाळेच्या आतला रिसेप्शन डेस्क | प्रत्येक इमारतीला एक बाजूची खिडकी | प्रत्येक service साठी क्लाउड रिसेप्शन डेस्क (ALB/NLB) | मुख्य गेट + फलक, अनेक खोल्या |
| कुठून पोहोचता येते | फक्त cluster च्या आतून | कोणत्याही node चा IP : 30000–32767 | इंटरनेट, प्रत्येकी एक क्लाउड LB | इंटरनेट, अनेक services साठी एक LB |
| वाट कशाने | selector → तयार pods | तेच, node port मार्गे | तेच, LB मार्गे | host / path → Services |
| खर्च | मोफत | मोफत (पण कुरूप) | प्रत्येक service ला क्लाउड LB चे बिल | एक LB + एक controller add-on |
| कशासाठी | service-ते-service (मूळ पर्याय) | स्थानिक डेमो, bare metal युक्त्या | एकच HTTP-नसलेला प्रवेश (DB, गेम सर्व्हर) | HTTP(S) साइट आणि APIs — नेहमीचे पुढचे दार |
| कधी नाही | बाहेरून पोहोचायचे काहीही | production traffic | दहा HTTP services = दहा बिले → Ingress | कच्चे TCP/UDP — LoadBalancer Service वापरा |
| Liveness | Readiness | Startup | |
|---|---|---|---|
| प्रश्न | "जागा आहेस?" | "उत्तर द्यायला तयार?" | "जागा होणे संपले का?" |
| फसल्यावर | कंटेनर पुन्हा सुरू | Service च्या endpoints मधून काढला — पुन्हा सुरू नाही | पास होईपर्यंत liveness/readiness बंद ठेवतो |
| नेहमीचा endpoint | /healthz — साधा, स्वस्त | /readyz — dependencies तपासतो | liveness सारखाच, उदार failureThreshold |
| AWS मधला भाऊ | — | ALB चा health check (AWS L15) | — |
| कधी नाही | DB तपासणारा probe — DB च्या outage साठी तुम्ही ॲप पुन्हा सुरू कराल | नेहमी "तयार" असणारा probe — सुरू होताना traffic | पटकन सुरू होणारी ॲप्स — फक्त initialDelaySeconds ठेवा |
| Requests | Limits | |
|---|---|---|
| उपमा | वचन दिलेली थाळी | दुसऱ्या वाढीवरची मर्यादा |
| कोण वाचते | scheduler — requests बसतील तिथेच pods ठेवतो | kubelet/kernel — चालू असताना लागू करतो |
| CPU ओलांडले | — | throttled (हळू, जिवंत) |
| Memory ओलांडली | — | OOMKilled 💀 |
| QoS class | Guaranteed = requests == limits · Burstable = requests < limits · BestEffort = काहीच नाही — दबावाखाली सर्वात आधी काढला | |
| कधी नाही | "सगळे वापरू द्या" म्हणून requests नाहीत — BestEffort, सर्वात आधी बाहेर | requests पेक्षा खूप वरचे limits — over-commit जे शेजाऱ्याला OOMKill करते |
| NetworkPolicy | Security group (EKS nodes/pods) | |
|---|---|---|
| उपमा | बाकांमधले चिठ्ठ्या पाठवण्याचे नियम | इमारतीच्या डेस्कवरची पाहुण्यांची यादी |
| लागू होते | pods, label selector ने | ENIs — nodes (किंवा SG-for-pods सह pods) |
| मूळ | प्रत्येक pod प्रत्येक pod शी बोलतो | सगळे inbound नाकारले |
| दिशा | ingress आणि egress, प्रत्येक policy साठी | inbound नियम; stateful उत्तरे |
| लागू करणारा | CNI (Calico, VPC CNI policy mode) — लागू करणारा नसेल तर दुर्लक्षित | AWS, नेहमी |
| कशासाठी | cluster च्या आतले pod-ते-pod नियम | बाहेरून nodes/ALB पर्यंत कोण पोहोचू शकते |
| कधी नाही | तुमची एकमेव सीमा म्हणून — ALB/WAF आणि SG रस्त्याचा पहारा देतात | बारीक pod-ते-pod नियम — ते NetworkPolicy चे काम |