What is a Pod in Kubernetes?

Why Interviewers Ask This

This question tests conceptual clarity. Interviewers want to hear a precise, confident definition before moving to more complex Kubernetes (K8s) topics. It also reveals how well you can explain technical ideas to non-experts.

Answer

A Pod is the smallest deployable unit in Kubernetes — a group of one or more containers that share: network namespace (same IP address, port space), storage volumes, and lifecycle (created, scheduled, and terminated together). Single-container pods: the most common case — one container per pod. Kubernetes manages pods, not containers directly; Multi-container pods: tightly coupled containers that must run together. Common patterns: Sidecar: helper container alongside the main app (log forwarder, proxy, auth sidecar — Istio envoy). Ambassador: proxy local connections to the outside world. Adapter: standardize output of the main container. Pod spec: apiVersion: v1 kind: Pod metadata: name: my-app labels: app: my-app spec: containers: - name: app image: my-app:1.0 ports: - containerPort: 3000 env: - name: ENV value: production resources: requests: memory: "128Mi" cpu: "250m" limits: memory: "256Mi" cpu: "500m" readinessProbe: httpGet: path: /health port: 3000 livenessProbe: httpGet: path: /health port: 3000 volumes: - name: config configMap: name: app-config. Pod lifecycle phases: Pending (scheduled but not running), Running (at least one container running), Succeeded (all containers exited with 0), Failed (at least one container exited non-zero), Unknown. Pods are ephemeral — don't use pods directly, use workload resources (Deployment, StatefulSet).

Pro Tip

Before answering, structure your response: one-line definition → real-world analogy → concrete example from a project. This makes even complex Kubernetes (K8s) answers easy to follow.