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