Kubernetes

Orchestrates and scales containerized applications across many machines.

CurrentadvancedGuide only -- no course yet

Overview

Kubernetes automates deploying, scaling, and healing containerized applications across a cluster of machines -- restarting failed containers, distributing load, and rolling out updates without downtime. It solves problems that emerge once you have more containers than one machine can (or should) run.

What it is
A container orchestration platform for deploying, scaling, and managing containerized applications.
Why it's used
Running dozens or hundreds of containers reliably requires automation Docker alone doesn't provide -- scheduling, self-healing, scaling.
Where it fits
Operates on top of Docker (or another container runtime); typically needed once an application's scale outgrows a single server.

Core concepts

  • Pods, deployments, and services
  • Scaling and self-healing
  • Config maps and secrets
  • The control plane

Example

Declaring 'I want 3 replicas' and letting Kubernetes continuously reconcile reality toward that desired state is the core Kubernetes pattern -- you declare intent, not steps.

apiVersion: apps/v1
kind: Deployment
metadata:
  name: web
spec:
  replicas: 3
  # Kubernetes keeps exactly 3 pods running, replacing any that crash.

Common use cases

  • Running containerized applications at scale
  • Microservices deployment and scaling

Project ideas

  • Sketch a Kubernetes deployment (on paper) for a simple three-service app, deciding how many replicas each needs and why

Official references