Abstract
Kubernetes the Hard Way documentation master file, created by sphinx-quickstart on Mon Jun 23 11:06:08 2025. You can adapt this file completely to your liking, but it should at least contain the root toctree
directive.
Kubernetes the Hard Way documentation#
Welcome to Kubernetes the Hard Way, the most masochistic blog on the Internet.[1]
Site contents#
The main contents of this site are a blog that is intended to provide the curious with a step by step guide to building their own bare metal Kubernetes cluster on their own hardware for less than the cost of a single month of a managed cluster with a similar level of resources.
Blog#
CI/CD Documentation#
Readme#
Metadata#
Below are links to related repositories along with a glossary and perhaps some links to indexes.
Glossary#
- Ansible#
Ansible offers open-source automation that is simple, flexible, and powerful.
- ArchLinux#
ArchLinux is lightweight and flexible Linux® distribution that tries to Keep It Simple.
- AWS#
AWS is a formerly innovative and useful collection of services that provides most of the revenue from which the Bezos’ fortune is created. Like all monopolies or near monopolies it has become far too expensive for far little value. Don’t use this.
- Azure#
Azure seems to have become the latest method for MS to demand (DEMAND!) that you use Copilot. You shouldn’t use Copilot, it will make you dumb and decrease your capacity for genuine understanding of even basic ideas like object permanence.
- ECS#
ECS is kind of a first-draft version of Kubernetes, which is to say (even ten years on): half baked, feature-incomplete, too expensive, and for all but the simplest use cases almost entirely devoid of utility.
- EKS#
EKS is the admission by AWS that ECS was a total failure and they lost the betamax/vhs style brand war to Google’s Kubernetes team. It’s implementation is poor, Amazon seems to be insisting that you run the important parts of it on your own infrastructure, and has so little understanding of Kubernetes as a managed service that they can’t even provide a believable estimate for the monthly cost of a cluster. Also don’t use this.
- etcd#
etcd is a strongly consistent, distributed key-value store that provides a reliable way to store data that needs to be accessed by a distributed system or cluster of machines. It gracefully handles leader elections during network partitions and can tolerate machine failure, even in the leader node.
- flannel#
flannel is a simple and easy way to configure a layer 3 network fabric designed for Kubernetes.
- git-cliff#
git-cliff is a highly customizable changelog generator.
- kubeadm#
kubeadm is a tool built to provide kubeadm init and kubeadm join as best-practice “fast paths” for creating Kubernetes clusters.
- kubelet#
kubelet is the primary “node agent” that runs on each node. It can register the node with the apiserver using one of: the hostname; a flag to override the hostname; or specific logic for a cloud provider.
- Kubernetes#
Kubernetes, also known as K8s, is an open source system for automating deployment, scaling, and management of containerized applications. Extensive use of the related documentation was made in the creation of this guide.
- makepkg#
makepkg is a script to automate the building of packages. The requirements for using the script are a build-capable Unix platform and a PKGBUILD.
- ssh#
ssh is a basic rlogin/rsh-like client program
- sudo#
sudo allows a system administrator to delegate authority to give certain users (or groups of users) the ability to run some (or all) commands as root or another user while providing an audit trail of the commands and their arguments.
- yay#
Yet another Yogurt - An AUR Helper written in Go. See the related GitHub Repository