What is Kubernetes and why would a team adopt it?
Quick Answer
Kubernetes is an open-source platform for automating deployment, scaling, and operation of containerized applications across a cluster of machines. Teams adopt it for self-healing, declarative rollouts, horizontal scaling, and a portable, vendor-neutral operational model.
Detailed Answer
Kubernetes (K8s) abstracts a fleet of machines into a single logical cluster and schedules containers onto it based on declared requirements. You give it desired state (this Deployment should have 4 replicas, this Service should be reachable, this app needs 512Mi of memory) and its control-plane controllers make it so and keep it so. The value proposition: self-healing (restart crashed containers, reschedule off dead nodes), zero-downtime rolling updates with automatic rollback, horizontal and even cluster autoscaling, built-in service discovery and load balancing, and a consistent API whether you run on AWS, GCP, on-prem, or a laptop. The cost is real operational complexity, so adopt it when you genuinely have many services, need elasticity, or want workload portability — not just to run a single container.
Code Example
kubectl get nodes # the machines in the cluster kubectl get deploy,svc,pods # your declared workloads and their status
Interview Tip
Balance is key: enthusiasts who can't name the *cost* (operational complexity) sound junior. Say 'adopt it when you have many services and need elasticity/portability, not for a single container.'