Kubernetes সাক্ষাত্কারের প্রশ্নগুলি কন্টেইনার অর্কেস্ট্রেশন, পড লাইফসাইকেল, পরিষেবা, নেটওয়ার্কিং, স্কেলিং এবং উত্পাদন ক্রিয়াকলাপ সম্পর্কে আপনার বোঝার পরীক্ষা করে। এই নির্দেশিকাটি 2026 সালে DevOps ইঞ্জিনিয়ার এবং প্ল্যাটফর্ম ইঞ্জিনিয়ারদের জন্য সবচেয়ে বেশি জিজ্ঞাসিত K8s প্রশ্নগুলি কভার করে৷
কোর কুবারনেটস প্রশ্ন
1. একটি পড কি এবং এটি একটি ধারক থেকে কিভাবে আলাদা?
A Podকুবারনেটসের সবচেয়ে ছোট স্থাপনযোগ্য ইউনিট। এটি এক বা একাধিক পাত্রে মোড়ানো থাকে যা ভাগ করে:
- নেটওয়ার্ক নেমস্পেস (একই আইপি, শেয়ার স্থানীয় হোস্ট)
- স্টোরেজ ভলিউম
- জীবনচক্র
সাধারণত প্রতি পড একটি ধারক. সাইডকার প্যাটার্নের জন্য একাধিক পাত্র ব্যবহার করুন (লগিং এজেন্ট, প্রক্সি)।
2. ডিপ্লয়মেন্ট, স্টেটফুলসেট এবং ডেমনসেটের মধ্যে পার্থক্য ব্যাখ্যা কর
| সম্পদ | কেস ব্যবহার করুন | মূল বৈশিষ্ট্য |
|---|---|---|
| স্থাপনা | স্টেটলেস অ্যাপস (ওয়েব সার্ভার, API) | রোলিং আপডেট, প্রতিরূপ ব্যবস্থাপনা |
| স্টেটফুল সেট | স্টেটফুল অ্যাপস (ডাটাবেস, কাফকা) | স্থিতিশীল পডের নাম, অর্ডারকৃত স্থাপনা, ক্রমাগত ভলিউম |
| ডেমনসেট | নোড-স্তরের এজেন্ট (লগিং, পর্যবেক্ষণ) | স্বয়ংক্রিয়ভাবে নোড প্রতি এক পড |
3. ConfigMaps এবং গোপনীয়তা কি? তারা কিভাবে ভিন্ন?
# 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. Kubernetes পরিষেবা এবং তাদের প্রকার ব্যাখ্যা করুন
# 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. Horizontal Pod Autoscaler (HPA) কিভাবে কাজ করে?
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. Kubernetes RBAC ব্যাখ্যা কর
# 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 deployment.yaml` চালালে কি হবে?
- kubectl API সার্ভারে ম্যানিফেস্ট পাঠায় (HTTPS এর মাধ্যমে)
- API সার্ভার অনুরোধটি যাচাই করে এবং প্রমাণীকরণ করে
- API সার্ভার টিকে থাকে etcd (ক্লাস্টার স্টেট স্টোর)
- ডিপ্লয়মেন্ট কন্ট্রোলার ওয়াচের মাধ্যমে পরিবর্তন সনাক্ত করে
- কন্ট্রোলার প্রয়োজন হলে ReplicaSet তৈরি করে
- রেপ্লিকাসেট কন্ট্রোলার পড চশমা তৈরি করে
- সময়সূচী নোডগুলিতে পড বরাদ্দ করে (সম্পদ, কলঙ্ক, সম্বন্ধের উপর ভিত্তি করে)
- নোডের কুবেলেট ছবিটি টানে এবং ধারকটি শুরু করে
- পড স্ট্যাটাস ইত্যাদিতে আপডেট করা হয়েছে
Kubernetes সাক্ষাত্কারের সাফল্য: কন্ট্রোল প্লেন (API সার্ভার, etcd, Scheduler, Controllers) বুঝুন, Deployment/StatefulSet/DaemonSet এর মধ্যে পার্থক্য জানুন, প্রোবগুলি পরিষ্কারভাবে ব্যাখ্যা করুন এবং নেটওয়ার্কিং (পরিষেবা, প্রবেশ, নেটওয়ার্ক নীতি) জানুন। প্রোডাকশন K8 এর প্রশ্নগুলি প্রায়শই RBAC, HPA, সম্পদের সীমা, এবং পড ব্যাহত বাজেট কভার করে।
🔗 Share this article
✍️ Leave a Comment