कुबेरनेट्स साक्षात्कार प्रश्न कंटेनर ऑर्केस्ट्रेशन, पॉड जीवनचक्र, सेवाओं, नेटवर्किंग, स्केलिंग और उत्पादन संचालन के बारे में आपकी समझ का परीक्षण करते हैं। यह मार्गदर्शिका 2026 में DevOps इंजीनियरों और प्लेटफ़ॉर्म इंजीनियरों के लिए सबसे अधिक पूछे जाने वाले K8s प्रश्नों को शामिल करती है।
कोर कुबेरनेट्स प्रश्न
1. पॉड क्या है और यह कंटेनर से कैसे भिन्न है?
A Podकुबेरनेट्स में सबसे छोटी तैनाती योग्य इकाई है। यह एक या अधिक कंटेनरों को लपेटता है जो साझा करते हैं:
- नेटवर्क नेमस्पेस (समान आईपी, शेयर लोकलहोस्ट)
- भंडारण की मात्रा
- जीवन चक्र
आमतौर पर प्रति पॉड एक कंटेनर। साइडकार पैटर्न (लॉगिंग एजेंट, प्रॉक्सी) के लिए एकाधिक कंटेनरों का उपयोग करें।
2. परिनियोजन, स्टेटफुलसेट और डेमनसेट के बीच अंतर स्पष्ट करें
| संसाधन | उदाहरण | प्रमुख विशेषता |
|---|---|---|
| तैनाती | स्टेटलेस ऐप्स (वेब सर्वर, एपीआई) | रोलिंग अद्यतन, प्रतिकृति प्रबंधन |
| स्टेटफुलसेट | Stateful apps (databases, Kafka) | स्थिर पॉड नाम, क्रमबद्ध तैनाती, लगातार वॉल्यूम |
| डेमनसेट | नोड-स्तरीय एजेंट (लॉगिंग, निगरानी) | प्रति नोड एक पॉड स्वचालित रूप से |
3. कॉन्फिगमैप्स और रहस्य क्या हैं? वे कैसे भिन्न हैं?
# ConfigMap — non-sensitive configuration
apiVersion: v1
kind: ConfigMap
metadata:
name: app-config
data:
APP_ENV: production
DB_HOST: postgres-service
LOG_LEVEL: info
# Secret — sensitive data (base64 encoded, not encrypted by default!)
apiVersion: v1
kind: Secret
metadata:
name: app-secrets
type: Opaque
data:
DB_PASSWORD: c2VjcmV0cGFzcw== # base64 encoded
# Use in Pod
env:
- name: APP_ENV
valueFrom:
configMapKeyRef:
name: app-config
key: APP_ENV
- name: DB_PASSWORD
valueFrom:
secretKeyRef:
name: app-secrets
key: DB_PASSWORD
4. कुबेरनेट्स सेवाओं और उनके प्रकारों की व्याख्या करें
# ClusterIP (default) — only accessible within cluster
apiVersion: v1
kind: Service
spec:
type: ClusterIP
selector:
app: backend
ports:
- port: 8000
targetPort: 8000
# NodePort — exposes on each node's IP at static port
spec:
type: NodePort
ports:
- port: 80
nodePort: 30080 # 30000-32767 range
# LoadBalancer — cloud provider creates LB
spec:
type: LoadBalancer
# Creates AWS ALB, GCP Load Balancer, Azure LB automatically
# Headless — no virtual IP, returns pod IPs directly (for StatefulSet)
spec:
clusterIP: None
selector:
app: kafka
5. जीवंतता और तत्परता जांच के बीच क्या अंतर है?
containers:
- name: app
livenessProbe: # Is the container alive? If fails: RESTART container
httpGet:
path: /health
port: 8000
initialDelaySeconds: 30
periodSeconds: 10
failureThreshold: 3
readinessProbe: # Is the container ready for traffic? If fails: remove from load balancer
httpGet:
path: /ready
port: 8000
initialDelaySeconds: 5
periodSeconds: 5
startupProbe: # For slow-starting apps — delays liveness check
httpGet:
path: /startup
port: 8000
failureThreshold: 30 # gives 5*30=150s for startup
periodSeconds: 5
6. हॉरिजॉन्टल पॉड ऑटोस्केलर (एचपीए) कैसे काम करता है?
apiVersion: autoscaling/v2
kind: HorizontalPodAutoscaler
metadata:
name: myapp-hpa
spec:
scaleTargetRef:
apiVersion: apps/v1
kind: Deployment
name: myapp
minReplicas: 2
maxReplicas: 20
metrics:
- type: Resource
resource:
name: cpu
target:
type: Utilization
averageUtilization: 70 # scale when avg CPU > 70%
- type: Resource
resource:
name: memory
target:
type: AverageValue
averageValue: 500Mi
# Custom metrics (requires metrics-server + Prometheus adapter)
- type: Pods
pods:
metric:
name: requests_per_second
target:
type: AverageValue
averageValue: 100
7. कुबेरनेट्स आरबीएसी को समझाइये
# ServiceAccount — identity for pods
apiVersion: v1
kind: ServiceAccount
metadata:
name: myapp-sa
# Role — permissions within a namespace
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
name: pod-reader
rules:
- apiGroups: [""]
resources: ["pods", "pods/logs"]
verbs: ["get", "list", "watch"]
# ClusterRole — cluster-wide permissions
kind: ClusterRole
rules:
- apiGroups: ["apps"]
resources: ["deployments"]
verbs: ["get", "list", "create", "update", "delete"]
# RoleBinding — attach role to service account
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
name: myapp-pod-reader
subjects:
- kind: ServiceAccount
name: myapp-sa
namespace: production
roleRef:
kind: Role
name: pod-reader
apiGroup: rbac.authorization.k8s.io
8. जब आप `kubectl apply -f परिनियोजन.yaml` चलाते हैं तो क्या होता है?
- Kubectl मैनिफ़ेस्ट को API सर्वर पर भेजता है (HTTPS के माध्यम से)
- एपीआई सर्वर अनुरोध को सत्यापित और प्रमाणित करता है
- एपीआई सर्वर आदि पर कायम रहता है (क्लस्टर स्टेट स्टोर)
- परिनियोजन नियंत्रक वॉच के माध्यम से परिवर्तन का पता लगाता है
- यदि आवश्यक हो तो नियंत्रक रेप्लिकासेट बनाता है
- रेप्लिकासेट कंट्रोलर पॉड स्पेक्स बनाता है
- शेड्यूलर पॉड्स को नोड्स को असाइन करता है (संसाधनों, दागों, एफ़िनिटी के आधार पर)
- नोड पर क्यूबलेट छवि खींचता है और कंटेनर शुरू करता है
- पॉड स्थिति को वापस आदि पर अद्यतन किया गया
कुबेरनेट्स साक्षात्कार की सफलता: नियंत्रण विमान (एपीआई सर्वर, आदि, शेड्यूलर, नियंत्रक) को समझें, परिनियोजन/स्टेटफुलसेट/डेमनसेट के बीच अंतर जानें, जांच को स्पष्ट रूप से समझाएं, और नेटवर्किंग (सेवाएं, प्रवेश, नेटवर्क नीतियां) को जानें। उत्पादन K8s प्रश्न अक्सर आरबीएसी, एचपीए, संसाधन सीमा और पॉड व्यवधान बजट को कवर करते हैं।
🔗 Share this article
✍️ Leave a Comment