This past week I've been setting up a local Kubernetes test bed for Full Stack Observability testing. I set up two Proxmox servers on mini-PCs and installed Ubuntu 22.04 server virtual machines on each of them. Why Ubuntu 22.04? Because there's a very good guide online explaining how to get Kubernetes set up using that particular version of Linux. Actually, there's more than one guide on this topic, for example this one. For the purpose of my work, though, I'll stick to the first guide I mentioned. That guide is for one control plane and two workers. I only have one worker in my setup.
Here's a tip for before you even think of setting up Kubernetes. When you install Ubuntu 22.04, make sure you have assigned permanent IP addresses on your control plane and worker servers. Do not use DHCP.
Your /etc/netplan/00-installer-config.yaml file should look something like this:
It's a great guide. I don't want to copy and paste all of the instructions from that site, but I will note a few things I think are missing or incorrect from the guide. For example, there are a couple of spots where the writer does not use sudo where you will need to use sudo. You'll find out for yourself when the operations fail and tell you you need to run a command as root, but for one example, you'll need to run sudo mkdir -p /opt/bin where it only specifies mkdir -p /opt/bin.
Another hiccup occurs when you try this instruction:
And when you give the command to have your worker node join the cluster, the writer says your token and hash may be different than in his sample. I wouldn't say may be different, I'd double dad gum guarantee they'll be different. Instead of trying his join command, here's a way to get a join command with the correct token and hash for your worker node. Go to a terminal on your Control Plane (cplane1 in his examples) and execute this command: