kubernetes-the-hard-way README

The project's README from github.com/kelseyhightower/kubernetes-the-hard-way. As one markdown file: README.md.

Kubernetes The Hard Way

This tutorial walks you through setting up Kubernetes the hard way. This guide is not for someone looking for a fully automated tool to bring up a Kubernetes cluster. Kubernetes The Hard Way is optimized for learning, which means taking the long route to ensure you understand each task required to bootstrap a Kubernetes cluster.

The results of this tutorial should not be viewed as production ready, and may receive limited support from the community, but don't let that stop you from learning!

Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.

Target Audience

The target audience for this tutorial is someone who wants to understand the fundamentals of Kubernetes and how the core components fit together.

Cluster Details

Kubernetes The Hard Way guides you through bootstrapping a basic Kubernetes cluster with all control plane components running on a single node, and two worker nodes, which is enough to learn the core concepts.

Component versions:

Labs

This tutorial requires four (4) ARM64 or AMD64 based virtual or physical machines connected to the same network.

kubernetes-the-hard-way (kelseyhightower/kubernetes-the-hard-way)

etcd
Searching Database…

What is this?A step-by-step tutorial that walks you through bootstrapping a Kubernetes cluster manually, without any automation scripts, so you learn how every component actually works.
Is this a tool or a tutorial?It's a pure documentation/tutorial repo (a series of Markdown labs), not a tool or installer you run.
How do I follow this tutorial?You work through the labs in order: set up a jumpbox, provision compute resources, generate TLS certs and kubeconfigs, bootstrap etcd and the control plane, then the worker nodes, and finally configure kubectl.
What machines do I need to run the labs?Four ARM64 or AMD64 virtual or physical machines on the same network, running specific versions of Kubernetes, containerd, CNI, and etcd.
Can I use the resulting cluster in production?No — it's explicitly for learning, and the end result isn't production-ready and may get limited community support.
Who is this tutorial for?Anyone who wants to deeply understand Kubernetes fundamentals and how its core components fit together, rather than just spin up a cluster quickly.
What does the final cluster look like?A basic cluster with all control plane components on a single node plus two worker nodes — enough to learn the core concepts.
Which component versions are used?Kubernetes v1.32.x, containerd v2.1.x, CNI v1.6.x, and etcd v3.6.x.
Are there scripts to automate the steps?No, the whole point is to do each step manually without scripts, as stated in the project description.
What's the last step after the cluster is up?Running a smoke test to verify everything works, followed by a cleanup lab to tear the cluster down.
Size
0.7 MB
Stars
50.4K
Updated
CommitApr 10
Age
10y
Commits · 90 Days