2.6 Verifying Your Cluster with kubectl cluster-info and get nodes

Right, so you’ve just thrown a bunch of YAML at kubeadm or clicked a few buttons on your cloud provider’s console. The install script finished with a triumphant “Happy hacking!” and you’re left staring at a blank terminal. Did it work? Is anything actually running? Let’s not guess. Let’s ask the cluster itself, using the primary tool you’ll have a love-hate relationship with: kubectl. First things first, let’s get the big picture. Run this:

2.5 Managed Clusters: EKS, GKE, and AKS Quick-Start

Alright, let’s get you a cluster. You could build one from scratch on a set of VMs, manually configuring kubeadm, etcd, and the control plane components. It’s a fantastic way to learn what makes Kubernetes tick, and I highly recommend doing it once. In a VM. On a rainy Sunday. With a therapist on speed dial. For the other 364 days of the year, you’ll want a managed Kubernetes service. The big three cloud providers—Amazon, Google, and Microsoft—offer them: EKS, GKE, and AKS. Their core promise is the same: they handle the tedious, critical, and frankly terrifying job of managing the control plane (the API server, scheduler, controller manager, etc.) for you. You get a compliant, highly available Kubernetes API endpoint, and you just worry about your worker nodes and workloads. It’s the difference between building a car engine from a pile of parts and just turning the key. You still have to drive (and pay for gas), but it starts every time.

2.4 kubeadm: Production-Grade Cluster Bootstrap

Right, so you want a production-grade Kubernetes cluster. Not a toy for your laptop, but the real deal. That means we’re reaching for kubeadm. It’s the official, blessed, “I know what I’m doing” tool for bootstrapping a cluster. It’s not magic; it’s a glorified orchestration tool that runs a series of checks and creates all the necessary components—the API server, etcd, scheduler, the whole gang—as static pods. This is brilliant because it means Kubernetes itself manages its own control plane. If the API server crashes, the kubelet restarts it. Poetic, really.

2.3 k3s: Lightweight Kubernetes for Edge and Raspberry Pi

Alright, let’s talk about k3s. You’ve heard the siren song of Kubernetes, but the thought of deploying the full-blown, resource-hogging behemoth on your Raspberry Pi cluster or your edge device makes you break out in a cold sweat. Good. That’s a sane reaction. The full kubeadm setup is like using a industrial wrecking ball to hang a picture frame. Enter k3s, from the fine folks at Rancher (now SUSE). It’s Kubernetes, but with the fat trimmed off. And by fat, I mean they ripped out a stunning amount of legacy cruft and cloud-specific drivers you’d never need on a Pi. It’s so lean it almost feels like cheating.

2.2 kind: Kubernetes in Docker for CI and Testing

Alright, let’s get our hands dirty. If you’re at the point where you need a Kubernetes cluster for testing, CI, or just to bash around in without getting a massive cloud bill, kind is your new best friend. The name stands for “Kubernetes in Docker,” and it does exactly what it says on the tin: it gives you a fully functional K8s cluster running inside Docker containers. It’s not some half-baked mock service; it’s the real kube-apiserver, etcd, and all the other gory bits, just containerized. The beauty is its sheer speed. You can spin up a cluster, wreck it, and nuke it in the time it takes most cloud providers to return an API call.

2.1 minikube: Local Single-Node Development Cluster

Alright, let’s get our hands dirty. You need a Kubernetes cluster, but you don’t need the existential dread of managing a multi-node production beast just to figure out how a Deployment works. Enter minikube. It’s your local, disposable, single-node Kubernetes cluster that runs on a virtual machine (VM) right on your laptop. Think of it as a petri dish for all your cloud-native experiments. It’s perfect for development, learning, and testing. It’s not built for performance or high availability, and that’s the point. It’s built for you to break things without getting a frantic call at 3 AM.

— joke —

...