█
LastWrite
  • > Curriculum
  • > Pricing
  • > For Educators
  • > About
  • > Contact
Log InGet Started

Questions, concerns, bug reports, or suggestions? We read every message, write to us at [email protected].

More ways to reach us →
LastWrite

Structured computer science lessons for aspiring developers and security professionals.

[email protected]

(201) 785-7951

Mon–Fri, 9 AM–5 PM EST

Learn

  • Curriculum
  • Pricing

Company

  • About
  • For Educators & Schools
  • Contact Us

Legal

  • Terms of Service
  • Privacy Policy
© 2026 LastWrite. All rights reserved.
Curriculum/DevOps and Infrastructure/Kubernetes/What Kubernetes Is and When NOT to Use It
35 minIntermediate

What Kubernetes Is and When NOT to Use It

After this lesson, you will be able to: Explain what Kubernetes is, why Docker Compose hits a ceiling, and what problem Kubernetes actually solves.

Kubernetes (K8s) is the container orchestrator that runs at planet scale. If you ship a few containers on one host, Compose is fine. If you ship many services across many hosts with rolling updates, autoscaling, and self-healing, you need Kubernetes.

This is a free introductory lesson. No purchase required.

Where Docker Compose stops

Compose runs on ONE host. If that host fails, the app is down. Compose has no built-in autoscaling, no rolling updates with zero downtime, no service mesh, no real secret management. Compose is great for dev, OK for small single-host production, useless past one machine. Kubernetes solves all of that at the cost of significant complexity.

What Kubernetes actually is

A cluster of machines (nodes) running a control plane that decides 'this container goes on that node'. You give Kubernetes a desired state (YAML: 'I want 5 copies of this container running'); the control plane works to make actual state match desired state. Nodes crash, K8s reschedules. Traffic shifts, K8s autoscales. You push a new image, K8s rolls it out gradually. The platform handles the boring stuff that broke your weekend before.

💡 When NOT to use Kubernetes

If you have one app and one server, you don't need K8s. Compose or systemd is faster, cheaper, simpler. If you have 2-5 services on 1-2 hosts, you probably still don't. Kubernetes pays off when: you have many services, you need rolling deploys without downtime, you need autoscaling, or your org already runs K8s and uniformity matters. Most startups adopt K8s too early and burn months on YAML when they should have shipped product.

The two ways to run K8s

Self-hosted: you run the control plane + nodes yourself. Hard. Possible with kubeadm, k3s, RKE. Only at large scale. Managed: AWS EKS, Google GKE, Azure AKS, DigitalOcean Kubernetes, Linode Kubernetes. Cloud provider runs the control plane (often free or pennies/hr); you only manage workloads. For learning: minikube or kind (Kubernetes-in-Docker) on your laptop. No cloud cost. We use kind in the next lessons.

Install local Kubernetes (kind)

Lightest-weight local cluster. Runs as a Docker container.

  1. 1

    Prereq: Docker installed (do-docker-01)

  2. 2

    Install kind:

  3. 3

    macOS: brew install kind

  4. 4

    Linux: curl -Lo ./kind https://kind.sigs.k8s.io/dl/v0.23.0/kind-linux-amd64 && chmod +x kind && sudo mv kind /usr/local/bin

  5. 5

    Windows: scoop install kind (or download the .exe)

  6. 6

    Install kubectl:

  7. 7

    macOS: brew install kubectl

  8. 8

    Linux: see kubernetes.io/docs/tasks/tools/

  9. 9

    Windows: scoop install kubectl

  10. 10

    Create cluster: kind create cluster

  11. 11

    Verify: kubectl get nodes (should show one node, Status Ready)

  12. 12

    When done: kind delete cluster

Quick Check

What's the right reason to adopt Kubernetes?

Pick the most senior answer.

Back to Kubernetes
Core Concepts: Pods, Deployments, Services→