Saltar a contenido

00 - Introduction

What this session is

A 10-minute read. Sets expectations.

What you're going to be able to do, eventually

By the end:

  • Run a local Kubernetes cluster on your laptop.
  • Deploy an application: Pod → Deployment → Service → Ingress.
  • Configure apps with ConfigMaps and Secrets.
  • Persist data with PersistentVolumes.
  • Install third-party software with Helm.
  • Debug failing pods: read logs, exec in, port-forward.
  • Read a real-world Kubernetes manifest or Helm chart and understand what it does.
  • Submit a fix to a Kubernetes-adjacent OSS project (a chart, a controller's docs, a kubectl plugin).

That last bullet is the goal.

What Kubernetes actually is

Kubernetes is a system for running containers across a cluster of machines. You give it: - A description of what you want running (which images, how many copies, what resources). - Some machines (nodes) to run them on.

Kubernetes does the rest: places containers on nodes, restarts them when they die, scales them up or down, networks them together, exposes them to the outside world, rolls out new versions, rolls back on failure.

The promise: you describe desired state in YAML; the system converges the actual state to match. If a node dies, pods running on it are rescheduled elsewhere. If you change the image version, pods are replaced one by one.

The deal

  • It's slow on purpose. One concept per page.
  • Container fluency assumed. If "Docker container" is unfamiliar, do containers first.
  • You'll run a local cluster. Most pages have hands-on exercises.
  • Kubernetes is a lot of vocabulary. Pod, Deployment, Service, Namespace, ConfigMap, Secret, Ingress, PersistentVolume, PersistentVolumeClaim, Helm chart, Custom Resource, Operator, Controller. We introduce them one at a time. Don't panic at the list.

What you need

  • A way to run a local Kubernetes cluster. Pick one:
  • Docker Desktop's built-in Kubernetes - easiest on macOS / Windows. Toggle in settings.
  • minikube - works on Mac, Linux, Windows. Mature.
  • kind (Kubernetes IN Docker) - fast, popular for development.
  • k3d - wraps k3s (a lightweight K8s) in Docker.
  • kubectl - the CLI. Usually bundled with the above; otherwise brew install kubectl / sudo apt install kubectl.
  • A text editor.
  • ~5 hours/week. Path is sized for 3-4 months.

What you do NOT need

  • A cloud account. We work entirely locally.
  • A programming language (some advanced topics use Go, but you'll mostly be writing YAML).
  • A multi-machine cluster. Local single-node is enough for everything here.

What Kubernetes is not

Useful clarifications:

  • Not a PaaS. It doesn't include a code-deployment pipeline, a database, or a logging system. You bring those (or run them on K8s).
  • Not a virtualization layer. It schedules containers on Linux nodes; the nodes themselves are Linux machines.
  • Not "just better Docker Compose." It solves a different (bigger) problem: orchestration across many machines. For single-machine deployment, Compose is often the right tool.

When to use Kubernetes (and when not)

Use Kubernetes when: - You have several services that need to talk to each other. - You want declarative deploys (commit YAML → cluster converges). - You need auto-restart, rolling updates, scaling. - You're operating in a multi-machine environment (cloud, on-prem fleet).

Don't use Kubernetes when: - You have one app on one server. Use Docker Compose (or just docker run). - You're a single developer making your first deploy. Use a PaaS (Railway, Fly.io, Render). PaaS hides K8s; you ship faster. - You don't yet have multiple services. Premature complexity.

This path teaches you Kubernetes regardless - even if you don't need to deploy with it daily, the vocabulary appears in job interviews, blog posts, and the wider infra community.

How long this realistically takes

3 to 4 months at 5 hours/week. Shorter than the language paths - Kubernetes is concepts + YAML, not a new language.

What success looks like

You'll be able to: - Read a kubectl get pods output and tell what's wrong. - Read a Helm chart and predict what it'll deploy. - Write a Deployment + Service for a small app. - Submit a PR to a K8s-adjacent project.

You will not be able to: - Build and operate a production cluster end-to-end. (Months of additional work; the "Kubernetes" senior reference path on this site covers it.) - Pass a CKA (Certified Kubernetes Administrator) exam. (More targeted prep needed.)

One last thing before we start

Kubernetes has more jargon than any path on this site. Don't try to memorize all of it on day one. Each page introduces what's needed at that moment. By page 15 it all clicks together; you don't need to understand Helm to learn what a Pod is.

If a page feels too dense - stop, re-read. Still dense? Skip, come back.

Ready? Next: Setup →

Comments