Andrew Mercer
on this page

Notes and how-tos for running Kubernetes, mostly from a bare-metal homelab, with managed-cloud options for comparison.

Sections

Section What's in it
Creating Kubernetes clusters Bare-metal clusters with kubeadm (Alma Linux, Ubuntu + Ansible), plus AKS, EKS, and GKE
kubeadm Day-2 operations on kubeadm clusters: resetting nodes, changing node IP addresses
kubectl Inspecting and debugging workloads, managing multiple kubeconfigs
Container runtimes containerd, CRI-O, runc, and the CRI debugging tools
CNI plugins Pod networking with Calico and Cilium
MetalLB LoadBalancer services on bare metal
Kustomize Bases, overlays, and patches for per-environment manifests
vCluster Virtual clusters running inside a host cluster

Suggested reading order for a new bare-metal cluster

  1. Container runtimes: install and configure containerd.
  2. Create a bare-metal cluster: kubeadm init and join workers.
  3. CNI plugins: install Calico or Cilium so nodes go Ready.
  4. MetalLB: give LoadBalancer services real IPs.
  5. kubectl: inspect and troubleshoot what's running.

Upstream references

  • https://kubernetes.io/docs/home/
  • https://kubernetes.io/releases/
in this section
* creating kubernetes clusters/
* kubeadm/
* kubectl/
* container runtimes/
* cni plugins/
* metallb/
* kustomize/
* vcluster/