Kokil Thapa - Professional Web Developer in Nepal
Freelancer Web Developer in Nepal with 15+ Years of Experience

Kokil Thapa is an experienced full-stack web developer focused on building fast, secure, and scalable web applications. He helps businesses and individuals create SEO-friendly, user-focused digital platforms designed for long-term growth.

Kubernetes Interview Questions and Answers

By Kokil Thapa | Last reviewed: September 2026

Kubernetes interview questions and answers trip up candidates who memorise definitions but cannot explain what happens when a pod fails at 2 a.m. Interviewers want practical reasoning, not textbook recitation. They test whether you understand control-plane components, how traffic reaches a pod, and why a Deployment keeps recreating containers. This guide covers the questions I see most often in DevOps and platform interviews, with concise sample answers and follow-up traps to expect. If you deploy Laravel or PHP on Linux today, many concepts will feel familiar — just orchestrated at cluster scale. Pair this with our Docker interview questions guide for container fundamentals first.

What Are the Most Common Kubernetes Interview Questions in 2026?

Interviewers usually start broad, then drill into one failure scenario. Expect five recurring themes: architecture, workload objects, networking, storage, and operations. Junior roles emphasise kubectl and YAML. Senior roles add cluster design, security, and cost.

Below is a tiered list of questions that appear repeatedly on real panels. Treat each answer as a 60-second spoken response, then be ready for a "what happens next?" follow-up.

LevelTypical QuestionWhat They Test
Junior / AssociateWhat is a Pod? Difference between Deployment and ReplicaSet?Core objects, declarative updates
Mid-levelHow does a Service route traffic to pods?ClusterIP, selectors, kube-proxy
Mid-levelExplain requests vs limitsScheduling, OOMKill, QoS classes
SeniorDesign HA for a stateful appStatefulSet, PDB, storage, backups
Senior / SREPod stuck in CrashLoopBackOff — your steps?logs, events, probes, config

Sample Answer: What Is Kubernetes?

Question: "Explain Kubernetes in one minute."

Strong answer: "Kubernetes is a container orchestrator. You declare desired state in YAML — how many replicas, which image, which ports — and the control plane continuously reconciles reality to match. It handles scheduling onto nodes, self-healing when containers crash, rolling updates, service discovery, and horizontal scaling. It does not replace Docker; it runs containers through a runtime like containerd and adds cluster-level automation on top."

Sample Answer: Pod vs Deployment

Question: "Why use a Deployment instead of creating Pods directly?"

Strong answer: "A bare Pod is ephemeral and not self-healing. If the node dies, it is gone. A Deployment owns ReplicaSets and ensures the declared replica count stays running. It supports rolling updates and rollbacks through ReplicaSet revision history. In production you almost never create standalone Pods — you use Deployments, StatefulSets, or DaemonSets depending on workload type."

Kubernetes Interview Topic MapArchitectureAPI, etcd, nodesWorkloadsPod, Deploy, SSNetworkingService, IngressStoragePV, PVC, SCSecurityRBAC, NetPolOperationsHPA, GitOpsTroubleshootEvents, logsInterview depth increases: define → explain flow → debug liveJunior: objects and kubectl | Senior: design trade-offs under failure
Core Kubernetes interview question categories and how interview depth scales by seniority

For behavioural framing around technical panels, see our behavioral interview prep for developers. Many platform teams also expect Linux fluency — review Linux interview questions for DevOps alongside this guide.

How Does Kubernetes Architecture Work in Interview Answers?

Architecture questions separate candidates who know kubectl from those who understand reconciliation. The control plane stores state in etcd, exposes the Kubernetes API, schedules pods, and runs controllers. Worker nodes run kubelet, kube-proxy, and the container runtime.

Control Plane Components

Question: "Walk me through the control plane."

Strong answer:

  • kube-apiserver — front door for all cluster changes; validates and persists objects.
  • etcd — consistent key-value store holding cluster state; losing quorum means cluster freeze.
  • kube-scheduler — assigns unscheduled pods to nodes based on resources, affinity, taints.
  • kube-controller-manager — runs controllers (Deployment, Node, Job) that reconcile desired vs actual state.
  • cloud-controller-manager — cloud-specific integrations (load balancers, routes) when applicable.

Official reference: the Kubernetes components documentation remains the authoritative breakdown.

Worker Node Components

Question: "What runs on every worker node?"

Strong answer: "kubelet registers the node, watches pod specs assigned to it, and talks to the container runtime to start containers. kube-proxy maintains network rules so Services reach backend pods. The runtime — containerd on most clusters since Docker shim removal — actually pulls images and runs containers. I verify node health with kubectl get nodes and check kubelet logs when pods stay Pending on a specific node."

Deeper node internals are covered in our Kubernetes worker node architecture article. For the data store specifically, read etcd in Kubernetes.

Follow-Up Trap: What Happens When You kubectl apply?

Expect this after any architecture answer. Say: "kubectl sends the manifest to the API server. Admission controllers may mutate or reject it. The object is written to etcd. Informers notify relevant controllers. The Deployment controller creates or updates a ReplicaSet. The ReplicaSet controller creates Pods. The scheduler binds each Pod to a node. kubelet on that node pulls the image and starts containers." That sequence shows you understand declarative reconciliation, not just command memorisation.

What Kubernetes Networking Questions Do Interviewers Ask?

Networking causes more production incidents than almost any other area. Interviewers want clarity on pod IP assignment, Service abstraction, DNS, and Ingress.

Pod-to-Pod Communication

Question: "How do pods on different nodes communicate?"

Strong answer: "Every pod gets a cluster-routable IP from the CNI plugin's network. Traffic between pods goes across the overlay or routed network without NAT at the pod level. kube-proxy on each node programs iptables or IPVS rules so Service VIPs load-balance to pod endpoints. CoreDNS resolves my-service.my-namespace.svc.cluster.local to the Service cluster IP."

Service Types

Service TypeUse CaseInterview One-Liner
ClusterIPInternal onlyDefault; reachable inside cluster via DNS name
NodePortDev / legacy exposureOpens static port on every node; usually wrapped by Ingress
LoadBalancerCloud external accessProvisions cloud LB pointing to NodePort or direct endpoints
HeadlessStatefulSet peer discoveryNo cluster IP; DNS returns individual pod A records

Question: "ClusterIP vs Headless Service?"

Strong answer: "ClusterIP gives one virtual IP fronting all ready endpoints — good for stateless apps. Headless (clusterIP: None) skips the VIP. DNS returns pod IPs directly. StatefulSets use headless Services so each pod gets a stable network identity like web-0.web.default.svc.cluster.local."

Example headless Service snippet interviewers sometimes ask you to sketch:

apiVersion: v1
kind: Service
metadata:
  name: web
spec:
  clusterIP: None
  selector:
    app: web
  ports:
    - port: 80
      targetPort: 8080

For Ingress controllers and TLS termination patterns, see Kubernetes Ingress controllers explained. Network isolation questions often lead to NetworkPolicies — know that default-deny egress/ingress requires a CNI that enforces them.

Kubernetes External Traffic FlowClientHTTPS requestLoad Balancercloud or MetalLBIngressNGINX, TraefikServiceClusterIP VIPPod A10.244.1.5Pod B10.244.2.8Pod C10.244.3.2kube-proxy load-balances Service VIP to ready endpointsCoreDNS resolves service-name.namespace.svc.cluster.local
Typical Kubernetes networking answer path from external client to pod endpoints via Ingress and Service

How Do You Answer Kubernetes Storage and Workload Questions?

Storage and workload type questions often arrive as a paired scenario: "You need MySQL with persistent data and ordered startup — what objects do you use?"

Deployment vs StatefulSet vs DaemonSet

Question: "When do you pick StatefulSet over Deployment?"

Strong answer: "Deployment for stateless horizontally scaled apps — web APIs, workers. StatefulSet when you need stable pod names, ordered rollout, and dedicated persistent volumes per replica — databases, Kafka brokers, ZooKeeper. DaemonSet when every node must run exactly one copy — log agents, node exporters, CNI plugins."

Persistent Volume Lifecycle

Question: "Explain PV, PVC, and StorageClass."

Strong answer: "A PersistentVolume is cluster storage capacity. A PersistentVolumeClaim is a pod's storage request — like a pod requesting CPU. StorageClass enables dynamic provisioning: the provisioner creates a PV when a PVC appears. A pod mounts the bound PVC as a volume. Reclaim policy Retain vs Delete matters for data safety after PVC deletion."

On projects I've worked on, confusing reclaim policy caused accidental data loss after namespace cleanup. Always mention Retain for production databases unless you have automated backups verified separately. Our persistent volumes guide walks through the full lifecycle.

Resource Requests and Limits

Question: "What happens if a container exceeds its memory limit?"

Strong answer: "The kernel OOM-kills the container. Kubernetes may restart it depending on restartPolicy. CPU limits throttle usage rather than kill. Requests affect scheduling — kube-scheduler places pods only on nodes with allocatable capacity. Missing requests cause noisy-neighbour problems. Missing limits allow a memory leak to take down a node."

See resource limits and requests for QoS classes: Guaranteed, Burstable, BestEffort. Interviewers love asking which class gets evicted first under node pressure — BestEffort, then Burstable exceeding requests, then Guaranteed last.

Jobs and CronJobs

Question: "Difference between a Job and a CronJob?"

Strong answer: "A Job runs one or more pods to completion — migrations, batch exports, one-off reports. A CronJob wraps Jobs on a schedule. Set backoffLimit, ttlSecondsAfterFinished, and concurrency policy (Forbid, Replace) explicitly. I have seen duplicate CronJob runs corrupt data when concurrency was left at default Allow."

Details: Kubernetes Jobs and CronJobs explained.

What Security and RBAC Questions Appear in Kubernetes Interviews?

Security questions ramp up quickly for platform and SRE roles. You should explain authentication vs authorisation, Role vs ClusterRole, and practical hardening without reciting every CIS benchmark item.

RBAC Model

Question: "How does RBAC work in Kubernetes?"

Strong answer: "Authentication identifies the caller — x509 client cert, bearer token via ServiceAccount, or OIDC through the API server. Authorisation is often RBAC: Roles define verbs on resources in a namespace. RoleBindings attach subjects to Roles. ClusterRoles and ClusterRoleBindings work cluster-wide. Least privilege means a CI deploy role gets patch on Deployments in one namespace — not cluster-admin."

Example RoleBinding sketch:

apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
  namespace: production
  name: deployer
rules:
  - apiGroups: ["apps"]
    resources: ["deployments"]
    verbs: ["get", "list", "watch", "update", "patch"]
---
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
  namespace: production
  name: deployer-binding
subjects:
  - kind: ServiceAccount
    name: gitlab-deploy
    namespace: ci
roleRef:
  kind: Role
  name: deployer
  apiGroup: rbac.authorization.k8s.io

Full hardening checklist: Kubernetes RBAC guide. For runtime threat detection, interviewers sometimes mention Falco — see Falco runtime security.

Secrets and Service Accounts

Question: "Are Kubernetes Secrets encrypted at rest by default?"

Strong answer: "Not necessarily — etcd stores base64-encoded Secret values unless you enable encryption at rest via EncryptionConfiguration. Treat Secrets as access-controlled, not invisible. Prefer external secret managers (Vault, cloud KMS) for high-value credentials. Mount Secrets as volumes rather than environment variables when you want rotation without pod restart — though many teams still use env vars for simplicity."

Kubernetes RBAC Authorization FlowSubjectUser or SA tokenAPI ServerAuthN then AuthZRBACRole + BindingAllowor 403Common interview follow-upsRole vs ClusterRole scope?Why not give deploy pipeline cluster-admin?How to audit who can delete pods in prod?Answer: kubectl auth can-i --list --as=system:serviceaccount:ci:gitlab-deploy
RBAC authorization flow — a frequent Kubernetes interview question with practical audit follow-ups

How Do You Answer Kubernetes Troubleshooting Interview Scenarios?

Troubleshooting scenarios are where interviews get honest. You either describe a repeatable diagnostic path or you guess. Panels prefer structured answers referencing events, logs, and recent changes.

CrashLoopBackOff

Question: "A pod is in CrashLoopBackOff. What do you do?"

Strong answer — ordered steps:

  1. kubectl describe pod <name> — read Events for probe failures, OOMKilled, image pull errors.
  2. kubectl logs <name> --previous — see the crash from the last container instance.
  3. Verify ConfigMap/Secret mounts and environment variables match what the app expects.
  4. Check liveness probe timing — too aggressive probes restart healthy but slow-starting apps.
  5. Exec in if possible: kubectl run debug --rm -it --image=busybox -- sh and test DNS/network.

Our dedicated walkthrough: debug CrashLoopBackOff in Kubernetes. Mention that CrashLoopBackOff is a backoff state, not the root cause — always find the exit code and last log lines.

Pod Stuck Pending

Question: "Pod stays Pending. Why?"

Strong answer: "Scheduler could not find a suitable node. Common causes: insufficient CPU/memory requests, node selectors or affinity rules matching zero nodes, taints without tolerations, PVC not bound, or resource quotas exhausted. kubectl describe pod shows '0/X nodes available' reasons. Fix by adjusting requests, adding capacity, or correcting affinity/PVC."

Rollout Failed

Question: "Deployment rollout stuck. Next steps?"

Strong answer:

kubectl rollout status deployment/my-app
kubectl get rs -l app=my-app
kubectl describe deployment my-app
kubectl rollout undo deployment/my-app

"Compare old and new ReplicaSet events. Typical causes: new image crash, readiness probe never passes, ConfigMap key rename. Roll back first to restore service, then debug the new revision offline."

Production Operations Extras

Senior candidates should mention backup/restore and GitOps without prompting. Velero snapshots cluster resources and PV data — see Velero backup and restore. Argo CD syncs cluster state from Git — Argo CD GitOps. HPA scales on metrics — horizontal pod autoscaling.

If you deploy PHP/Laravel workloads, connecting interview theory to app config helps. Our Kubernetes for Laravel getting started article bridges that gap for backend developers moving into platform work.

Pod Failure Troubleshooting TreePod not healthy?Pendingscheduler, PVC, taintsCrashLooplogs, probes, OOMRunning not readyreadiness probedescribe podcheck Events sectionlogs --previousexit code and stack tracecompare config diffSecret, CM, image tagStructured answers beat random kubectl guesses in interviews
Kubernetes troubleshooting decision tree — map pod states to diagnostic commands for interview scenarios

How Should You Prepare for Senior Kubernetes Interview Questions?

Senior rounds add design, cost, and cross-team trade-offs. Expect whiteboard prompts: multi-tenant namespaces, zero-downtime migrations, or choosing between managed Kubernetes and self-hosted clusters.

System Design Prompt Example

Question: "Design Kubernetes hosting for three Laravel apps with staging and production isolation."

Strong answer outline:

  • Separate namespaces per environment with ResourceQuotas and LimitRanges.
  • CI ServiceAccount with namespace-scoped RBAC for deployments only.
  • Shared Ingress controller; separate hostnames and TLS certs per app.
  • Redis and MySQL as StatefulSets or managed cloud services outside the cluster.
  • PodDisruptionBudgets so node drains do not take all replicas offline.
  • Velero nightly backups; GitOps via Argo CD for declarative drift detection.

That answer shows you think beyond YAML — you consider blast radius, deploy permissions, and recovery. For broader design interview patterns, see system design interview prep and DevOps engineer interview questions.

Managed vs Self-Hosted

Question: "EKS/GKE/AKS vs self-managed on Ubuntu — trade-offs?"

Strong answer: "Managed control planes reduce operational burden — upgrades, etcd backups, API availability handled by the provider. Self-managed on Ubuntu suits cost control, air-gapped environments, or hardware you already operate. I have spent more time on bare-metal Linux administration and GitLab CI deploy pipelines than running production control planes. For teams without dedicated platform engineers, managed Kubernetes is usually the right default. Control plane cost runs roughly Rs 15,000–25,000/month (~USD 110–185) on major clouds before worker nodes."

Related comparisons: Kubernetes vs Docker Swarm, K3s for edge, Minikube vs kind for local dev. Infrastructure-as-code panels may cross into Terraform interview questions.

What Interviewers Mark Down

  • Calling Kubernetes "Docker orchestration" without mentioning containerd/CRI.
  • Confusing Service port, targetPort, and containerPort.
  • Saying "just scale it" without mentioning requests, HPA metrics, or cluster capacity.
  • Ignoring PodDisruptionBudgets when discussing node upgrades.
  • No mention of observability — metrics (Prometheus), logs, traces.

Validate YAML manifests before interviews using our JSON formatter for API responses or quick syntax checks. Strong answers reference the official kubectl cheat sheet commands you actually use daily.

From a delivery perspective, platform work connects to Linux system administration and enterprise application development — the same teams often own both VMs and clusters. See Adventure Third Pole Trek for a Laravel + Livewire production app where deployment discipline matters as much as cluster theory.

Key Takeaways

  • Lead with reconciliation — desired state, controllers, etcd — before listing kubectl commands.
  • Pair every workload answer with the right object: Deployment, StatefulSet, Job, or DaemonSet.
  • For networking, trace traffic Client → Ingress → Service → Pod and mention CoreDNS.
  • Troubleshoot with describe Events first, then logs --previous, then config diffs.
  • Senior answers include RBAC least privilege, PDBs, backups, and GitOps — not just scaling.
  • Practice aloud for 60 seconds per question; follow-ups always go one level deeper.

People Also Ask

What kubectl commands should I know for a Kubernetes interview?

Know kubectl get/describe/logs/exec, rollout commands (status, history, undo), resource editing, and context/namespace switching. Be ready to explain output columns — READY vs STATUS, RESTARTS meaning, Events at the bottom of describe output.

Is Kubernetes experience required for DevOps roles in 2026?

Most mid-level and senior DevOps postings expect baseline Kubernetes fluency even if the daily stack is Terraform and CI/CD. Container orchestration knowledge signals you can reason about production scaling. Docker-only roles still exist at smaller shops, but the trend is clearly toward K8s or managed equivalents.

How is Kubernetes different from Docker Compose?

Compose runs multi-container apps on one host with a simple YAML file — ideal for local dev. Kubernetes runs across a cluster with self-healing, rolling updates, service discovery, RBAC, and storage orchestration. Compose has no scheduler, no cluster IP networking model, and no built-in horizontal pod autoscaling.

What CNCF certifications help for Kubernetes interviews?

CKA (Administrator) and CKAD (Application Developer) are the most recognised. They are hands-on exams — useful proof, but interviewers still ask scenario questions beyond exam scope. CKS adds security focus for platform roles. Certifications open doors; structured troubleshooting answers keep you in the room.

Prepare With Purpose

Memorising fifty definitions will not survive a follow-up on pod eviction or Ingress TLS. Work through real scenarios on kind or Minikube, break things on purpose, and narrate your diagnostic steps out loud. That habit converts abstract Kubernetes interview questions and answers into credible senior-engineer responses. For teams shipping production web platforms — Laravel, APIs, or eCommerce — Kubernetes is one deployment option among several; understanding it makes you a better architect even when the client runs plain managed Linux hosting instead. Need help designing a deployment strategy or preparing platform hires? Contact us to talk through your stack.

Frequently Asked Questions

Kubernetes is a container orchestrator. You declare desired state in YAML and the control plane reconciles reality to match. It handles scheduling, self-healing, rolling updates, service discovery, and horizontal scaling. It runs containers through a runtime like containerd, not instead of Docker.

A bare Pod is ephemeral and not self-healing — if the node dies, it is gone. A Deployment owns ReplicaSets and keeps the declared replica count running. It supports rolling updates and rollbacks through ReplicaSet revision history. In production you almost never create standalone Pods; you use Deployments, StatefulSets, or DaemonSets depending on workload type.

kube-apiserver is the front door for all cluster changes and validates objects before persistence. etcd is the consistent key-value store holding cluster state; losing quorum freezes the cluster. kube-scheduler assigns unscheduled pods to nodes based on resources, affinity, and taints. kube-controller-manager runs controllers that reconcile desired versus actual state. cloud-controller-manager handles cloud-specific integrations like load balancers when applicable.

kubelet registers the node, watches pod specs assigned to it, and talks to the container runtime to start containers. kube-proxy maintains network rules so Services reach backend pods. The container runtime — containerd on most clusters since Docker shim removal — pulls images and runs containers. I verify node health with kubectl get nodes and check kubelet logs when pods stay Pending on a specific node.

kubectl sends the manifest to the API server. Admission controllers may mutate or reject it. The object is written to etcd. Informers notify relevant controllers. The Deployment controller creates or updates a ReplicaSet. The ReplicaSet controller creates Pods. The scheduler binds each Pod to a node. kubelet on that node pulls the image and starts containers. That sequence shows declarative reconciliation, not just command memorisation.

Every pod gets a cluster-routable IP from the CNI plugin's network. Traffic between pods crosses the overlay or routed network without NAT at the pod level. kube-proxy on each node programs iptables or IPVS rules so Service VIPs load-balance to pod endpoints. CoreDNS resolves names like my-service.my-namespace.svc.cluster.local to the Service cluster IP. Networking causes more production incidents than almost any other area, so interviewers expect clarity on this path.

ClusterIP gives one virtual IP fronting all ready endpoints — good for stateless apps reached inside the cluster via DNS. Headless Service sets clusterIP to None, skipping the VIP. DNS then returns individual pod IPs directly. StatefulSets use headless Services so each pod gets a stable network identity like web-0.web.default.svc.cluster.local. Pick ClusterIP for standard load balancing; pick headless when pods need direct, stable peer discovery.

Use Deployment for stateless horizontally scaled apps such as web APIs and workers. Choose StatefulSet when you need stable pod names, ordered rollout, and dedicated persistent volumes per replica — typical for databases, Kafka brokers, and ZooKeeper. Use DaemonSet when every node must run exactly one copy, such as log agents, node exporters, or CNI plugins. Interviewers often pair this with a scenario like running MySQL with persistent data and ordered startup.

A PersistentVolume is cluster storage capacity. A PersistentVolumeClaim is a pod's storage request, similar to requesting CPU. StorageClass enables dynamic provisioning: the provisioner creates a PV when a PVC appears. A pod mounts the bound PVC as a volume. Reclaim policy Retain versus Delete matters for data safety after PVC deletion. On projects I've worked on, confusing reclaim policy caused accidental data loss after namespace cleanup. Always mention Retain for production databases unless automated backups are verified separately.

The kernel OOM-kills the container. Kubernetes may restart it depending on restartPolicy. CPU limits throttle usage rather than kill.

Authentication identifies the caller — x509 client cert, bearer token via ServiceAccount, or OIDC through the API server. Authorisation is often RBAC: Roles define verbs on resources in a namespace. RoleBindings attach subjects to Roles. ClusterRoles and ClusterRoleBindings work cluster-wide. Least privilege means a CI deploy role gets patch on Deployments in one namespace, not cluster-admin. Interviewers often follow with audit questions, so know the difference between authentication and authorisation before reciting Role YAML.

Not necessarily. etcd stores base64-encoded Secret values unless you enable encryption at rest via EncryptionConfiguration.

Start with kubectl describe pod to read Events for probe failures, OOMKilled, or image pull errors. Run kubectl logs with --previous to see the crash from the last container instance. Verify ConfigMap and Secret mounts and environment variables match what the app expects. Check liveness probe timing — too aggressive probes restart healthy but slow-starting apps. If needed, run a debug pod to test DNS and network. CrashLoopBackOff is a backoff state, not the root cause; always find the exit code and last log lines.

The scheduler could not find a suitable node. Common causes include insufficient CPU or memory requests, node selectors or affinity rules matching zero nodes, taints without tolerations, a PVC not bound, or resource quotas exhausted. kubectl describe pod shows reasons like 0/X nodes available. Fix by adjusting requests, adding capacity, or correcting affinity and PVC configuration. This scenario appears frequently in mid-level panels because it tests scheduling logic, not just kubectl syntax.

Run kubectl rollout status deployment/my-app, kubectl get rs filtered by app label, and kubectl describe deployment my-app. Compare old and new ReplicaSet events. Typical causes include a new image crash, a readiness probe that never passes, or a ConfigMap key rename. Roll back first with kubectl rollout undo deployment/my-app to restore service, then debug the new revision offline. Senior candidates should also mention backup and restore tools like Velero and GitOps workflows with Argo CD when discussing production operations.

Share this article

0 Comments

Leave a comment

Your email is not published. Comments appear once they have been read. Sign in to have your details filled in.

Quick Contact Options
Choose how you want to connect me: