Ok, here’s to learning Kubernetes in earnest, to get that career pivot going.
Notes as I learn, over the coming days.

This one, is a lot of random thoughts on bringing up a cluster.

  1. It is both harder than you think, and easier than you think
  2. I did this, because I wanted to run my own cluster, just like the big boys do.1
  3. It’s much easier to run alternatives like kind, if that suits your needs better.

Notes to future Jason:

  1. I made a gigantic Ubuntu KVM vm, for my playground
  2. Then four small vms in that big one
  3. Because of life, I goofed up and used Ubuntu LTS on the big vm and a non-LTS version on the small ones. Next time just use the same os everywhere.
  4. If learning is your aim, make sure the vms use a beefy, full fat os install. The skinny ones might be helpful online when actually building stuff, but when it comes to learning, you’ll be installing a lot of things manually.2
  5. To that end, make sure the virtual machines have lots of disk space available. I had to learn how to resize qcow files, because I nearly ran out of space.
  6. The control-plane node will need two cpus. the others can get by with one.
  7. Same with ram. Helps if the control-plane node has 4gb.
  8. The documentation is the best resource. It is comprehensive but not well structured. No hand holding here.
  9. I used containerd and runc rather than Docker, manually installing them using the documentation links3
  10. Pair with a how to install guide, off the web. Kubernetes releases come fast and furious. Make sure you aren’t following something woefully out of date.
  11. Once again, the documentation is the go to. Make sure you read them for notes and pitfalls. My cluster keeled and fell over after my first reboot, because I did not configure the cgroups driver right, to work with systemd
  12. It takes time. It’s ok. It’s supposed to take that long.
  13. If your system is old and creaky like mine, don’t bring up all the vms at once. That’s another surefire way of making sure the cluster goes splat. Bring up the control node, wait a while4, wait some more just to make sure, and then slowly bring up the worker nodes one by one.
  14. Then keep the darned thing on all day.
  15. If stuff works, and you like me, need to get on with life because you are doing all this in the middle of a house move, make sure to take lots of vm snapshots.
  16. What else? Hmm … oh yea! Stop stressing. You got this. Show up. It’ll come to you.

P.S. Subscribe to my mailing list!
Forward these posts and letters to your friends and get them to subscribe!
P.P.S. Feed my insatiable reading habit.

  1. Like Scott says, You got to do the real thing, if you want to learn well. ↩︎

  2. I had to manually install apt-utils, whiptail, ping, devel tools and Dog knows, what else ↩︎

  3. I honestly don’t why I did this. No objective reason. Just that the recent Docker emails give me the creeps. Reminds me of the old Microsoft emails. So, Via Negativa! ↩︎

  4. Waiting time? Enough to brew me a coffee. Measure yours. ↩︎