kelseyhightower/kubernetes-the-hard-way
Summary
A GitHub tutorial for manually setting up a Kubernetes cluster to learn its core components, optimized for understanding rather than production use.
View Cached Full Text
Cached at: 09/25/26, 03:13 PM
kelseyhightower/kubernetes-the-hard-way
Source: https://github.com/kelseyhightower/kubernetes-the-hard-way
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!
Copyright

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:
- kubernetes v1.32.x
- containerd v2.1.x
- cni v1.6.x
- etcd v3.6.x
Labs
This tutorial requires four (4) ARM64 or AMD64 based virtual or physical machines connected to the same network.
- Prerequisites
- Setting up the Jumpbox
- Provisioning Compute Resources
- Provisioning the CA and Generating TLS Certificates
- Generating Kubernetes Configuration Files for Authentication
- Generating the Data Encryption Config and Key
- Bootstrapping the etcd Cluster
- Bootstrapping the Kubernetes Control Plane
- Bootstrapping the Kubernetes Worker Nodes
- Configuring kubectl for Remote Access
- Provisioning Pod Network Routes
- Smoke Test
- Cleaning Up
Similar Articles
@devops_nk: Someone built Kubernetes that runs entirely in your browser. This might be the easiest way to learn Kubernetes. - No Do…
A developer ported Kubernetes to run entirely in the browser by rewriting core components in TypeScript, aided by AI for code conversion. The tool requires no installation and is designed for learning, teaching, and interview prep.
Durable execution, the hard way
A tutorial guide that teaches how to build a durable execution engine from scratch using Go and Postgres, inspired by Kubernetes the hard way.
@jaga_prasanna: https://x.com/jaga_prasanna/status/2079614504451838426
An educational thread that explains Kubernetes' core concepts using relatable analogies like an Amazon warehouse and cruise control, breaking down components and the desired state mechanism.
@twtayaan: If you're looking to build real Kubernetes projects this weekend, this repo is for you It takes you from your first pod…
A GitHub repository providing hands-on projects to learn Kubernetes, covering basic to advanced topics like deployments, microservices, and cloud integration.
Kubernetes In Anger
A comprehensive guide to debugging and managing Amazon EKS clusters in production, focusing on common failure modes, incident response, and safe upgrades. Covers key differences between EKS and standard Kubernetes.