Surely I am not the only cable hoarder among us?

Kubernetes Odysseys for June 14, 2024

Kubernetes Logo

Kubernetes Odysseys are curated highlights from my explorations across the web. I seek out and share intriguing and noteworthy links related to all things Kubernetes. You can find all my Kubernetes bookmarks on Pinboard and explore all my blog posts categorized under Kubernetes.

SpinKube

SpinKube is an open source project that streamlines developing, deploying and operating WebAssembly workloads in Kubernetes - resulting in delivering smaller, more portable applications and incredible compute performance benefits.

The Kubernetes Book - Nigel Poulton

Deep on the theory and packed with optional hands-on examples. This book will help you master Kubernetes.

How to Achieve Real Zero-Downtime in Kubernetes Rolling Deployments

To sum up, we have made significant progress in ensuring stable user connections during rolling deployments, regardless of the number of deployment versions released daily. We have modified our deployment file to include a readiness probe and a pre-stop hook. These changes enable us to manage traffic during pod startup and shutdown more effectively.

kubecolor

kubecolor is a tool that colorizes your kubectl command output by adding color, making it easier to read and understand. It acts as a direct replacement for kubectl, allowing you to alias kubectl commands to use kubecolor instead.

Kubernetes Masterclass for Beginners

From zero to a full Kubernetes environment including apps and monitoring. I’ve taken this course and it’s fantastic.

As I lay the foundation for my Pi powered K3s cluster, I’ve decided that I want all four nodes to be identical. Thus, I have ordered two Raspberry Pi CM4s, each with 8GB ram and 32GB eMMC flash storage. These match the specs of two of my other CM4s already in the Turing Pi. Once installed, I plan to bring up the cluster within the next few days. I’m looking forward to configuring and learning about MetalLB, a Kubernetes-based load balancer that assigns IP addresses to services, facilitating network requests to those IPs.

Prepping the Turing Pi for a K3s install

Spent some time last night working on the Turing Pi, my four Raspberry Pi CM4 cluster. I brought all OS updates up to most recent and then spent a good amount of time trying to upgrade the firmware. My first issue was that the BMC (Baseboard Management Controller) wasn’t showing up in my router so I had no way to access it either via SSH or the UI. How do you upgrade something you cannot access? I ended up yanking all four nodes off the board and then removing the motherboard from the case so that I could access the SD card slot. Of course the SD card slot is just behind the frame, enough so that I had to completely remove it in order to access the slot.

I then burned the latest firmware to an SD card. Popped the card into the slot and plugged in the power. Hit the Key button rapidly three times and it did a magic light show on the ports. The firmware upgrade was complete a few minutes later. Reboot and now the turingpi showed up in my router and I could access the UI.

Now that I am working with the latest firmware, it’s time to move on to next steps of installing K3s on the Turing Pi.

Key swap in progress.

Keyboard key swap

I’ve got three bricked HomePods.

Kubernetes Odysseys for June 7, 2024

Kubernetes Logo

Kubernetes Odysseys are curated highlights from my explorations across the web. I seek out and share intriguing and noteworthy links related to all things Kubernetes. You can find all my Kubernetes bookmarks on Pinboard and explore all my blog posts categorized under Kubernetes.

Kubernetes turned 10 on June 6th

Who could have predicted that 10 years later, Kubernetes would grow to become one of the largest Open Source projects to date with over 88,000 contributors from more than 8,000 companies, across 44 countries. - Kubernetes Blog

Kubernetes Explained in 6 Minutes

A concise overview of Kubernetes in six minutes.

4 Simple Commands To Troubleshoot Kubernetes

Michael Levan summarizes a few commands that can help troubleshoot Kubernetes.

GitHub - getseabird/seabird: Native Kubernetes desktop client

Seabird is a native cross-platform Kubernetes desktop client that makes it super easy to explore your cluster’s resources. We aim to visualize all common resource types in a simple, bloat-free user interface.

Kubernetes on Turing Pi

I plan to convert my four node Turing Pi into a Kubernetes cluster soon, following this documentation.

Omakub — An Omakase Developer Setup for Ubuntu 24.04 by DHH looks well conceived. I may bust out an old laptop and take it for a spin.

Kubernetes automatically sets requests to match limits if you only specify limits.

In my never ending quest for a keyboard that suits me, my latest acquisition is the Q11 split board by Keychron. I’ve only had it for a few days. I’m loving it. The split is very comfortable and quite easy to get used to.

Just before this keyboard, I picked up a Kinesis AdvantagePro but I only lasted a few days with what I call a radical design. I found the concavity extremely comfortable but the thought of spending weeks or months learning the board overwhelming. I opted for a split board that is more traditional which led me to Keychron.

I’ve actually got about six or seven other Keychron models and enjoy them all. Their keyboards are very well built and solid works of art. Now that I have a split board though, I doubt I’ll be using any of them any longer.

One thing I did this morning as it’s been the main pain point for me is to fire up the Via site which allows board modifications. I moved the ‘fn’ key from the left of the spacebar over to the far left so that it mimics Apple’s keyboards. Much better.

Ten (10) years ago, on June 6th, 2014, the first commit of Kubernetes was pushed to GitHub.

kubernetes.io/blog/2024…

In preparation for the CKA exam, I’ve started running through CKA scenarios on Killercoda. They have a free tier but I went ahead and paid $10/month for access to the environment which mimics the actual exam.

Rio Kierkels, one of the members of the Skool community I’m a part of, presented a really powerful solution today, showing us the amazing tool called Task which is a task runner / build tool.

His presentation was done with presenterm, a TUI markdown terminal slideshow tool.

Awesome stuff… both the topic of the presentation as well as the presentation tool itself.

If you are interested in Kubernetes, DevOps, and productivity, check out the Skool community. There is a free tier and a paid tier, which I happily pay for because the community is amazing and I’m learning a lot from it.

Went to a play called The Prom the other night with my family. It was fun! I laughed out loud several times. I really like the plays we’ve seen at the Town Hall in Littleton.

I am committing to studying four hours a day, Mon-Fri, for the CKA exam. I intend to take the exam before the end of June.

Taking time today to get my Obsidian notes vault in order. It’s been a mess for a while now and I’m tired of the chaos.

Kubernetes taints and tolerations, node selectors, and node affinity. All of these allow us to attain granular control over pod placement on nodes.

Taints and tolerations are used to set restrictions on which pods can be scheduled on a node.

To associate a pod to a node to run on, we add nodeSelector to the pod definition.

If we need more advanced operators such as OR/AND then we need to turn to node affinity to ensure pods are hosted on specific nodes.

Pinstachio for Pinboard looks like a good Pinboard app. Giving it a go.

In Obsidian, I’m starting to leverage callouts and I like them.

Callout in Obsidian