[Lab Notes] Kubernetes the Hard Way, For Real This Time (Step 08)
Continuing my Kubernetes the Hard Way homelab build. Steps 01-07 are already done, this covers step 08. Original guide: 08-bootstrapping-kubernetes-controllers.md Thoughts I had while doing this Much like the previous step with etcd, this one is about installing more components. Mainly the Kubernetes API Server, Scheduler, and Controller Manager. Same pattern as before: copy the binaries over to…
This is the eighth step in building Kubernetes from scratch for a homelab. The previous seven steps involved installing etcd, the API Server, Scheduler, and Controller Manager components. After copying the binaries of these components to the controller node, they are configured and become running Linux services.
The Kubernetes API Server acts as the gatekeeper for all API calls from other Kubernetes components. It is the only component that directly reads/writes to etcd, the database. The API Server handles security configuration, such as the CA certificates, and is responsible for assigning nodes to pods.
The Scheduler determines which node a pod should run on by checking if a pod already has an assigned node. If not, it makes a decision through the API Server, which then writes the update to etcd. The Controller Manager serves as a bundle of various controllers, handling tasks like restarting failed pods, retrying failed jobs, and provisioning new nodes.
While aiming to get kube-apiserver up, the reporter faced an issue where it wouldn't start due to another service already being bound to port 6443. After stopping and disabling the leftover service (k3s), kube-apiserver started working correctly. The report concludes by outlining the steps to provision the Kubernetes control plane, including creating directories, copying binaries, configuring the API Server, Controller Manager, and Scheduler, and starting the services.
Written by urgent.news from Dev.to's reporting — not their text. Machine-written — may contain errors; check the original before relying on it.