All Post by Steve Mitchell
Kubernetes Networks and Ingress
I assembled a Raspberry Pi cluster previously in this series, installed Ubuntu Groovy Gorilla, and installed Rancher k3s Kubernetes. It’s close to running interesting workloads, but first, it needs ingress and storage volumes. Ingress is not difficult, but this being a learning lab, let’s sharpen our understanding of Kubernetes networking.
How to Expose a Service with Traefik
This post walks through exposing a service with Traefik ingress.
Running Ubuntu on a Raspberry Pi Cluster
When I started using Kubernetes on 32-bit Raspbian I quickly discovered that many Docker images are not compatible. To avoid spending time rebuilding Docker images for linux/amd, I decided to switch to an AMD64 OS. There is an experimental AMD64 version of Raspbian in Beta, but I chose my old friend, Ubuntu.
How to Boot from USB
In the fall of 2020, Raspberry Pi released the long-awaited Raspberry Pi 4 boot EEPROM to boot directly from a USB3 drive without having the MicroSD card plugged in. Jeff Geerling has a blog and video showing the upgrade: I’m booting my Raspberry Pi 4 from a USB SSD.
Running Kubernetes on a Raspberry Pi Cluster
I loved trains as a boy, which may explain why I am running Kubernetes on Raspberry Pis for my home lab instead of in the cloud. Think of it like model railroading for computer geeks! In my earlier post, How to Configure Raspbian Linux, we installed and configured Raspbian Linux on all the Raspberry Pis. Now it’s time to add Kubernetes.
How to Install Rancher Labs k3s on Raspbian or Ubuntu
Add Cgroups to Linux
Before jumping into Kubernetes, Linux needs to be setup for virtualization.
How to Centralize Logs
Whoops, I did it again! I lost access to my primary node, but I don’t know why because the logs aren’t accessible. I need centralize logging outside of the cluster.
Cloud-native Python from a Spring Developer Perspective
When a client asked for microservices written in Python, instead of the Spring Cloud ecosystem that I’m accustomed to, it was an adjustment. The task at hand was to replace an aging desktop application used by several hundred support staff with a simple, web-based application written in a programming language that the team knew. The original developers are no longer around, and the application is out of date. It has become challenging to install and maintain, and the list of bugs and needed enhancements grew too large for the client to ignore any longer. The client wanted a new tool that was faster, more reliable, had more features and was easier to support.
How to bind to the right USB storage driver
The article How to Configure Raspbian Linux discussed using the usb-storage.quirks parameter to bind to the right storage manager. This side note goes on to explain usb-storage.quirks in more detail.
How to Multicast Commands
If you are more Dev than Ops, like me, then you will think this is cool. If you are more Ops than Dev, then you already know how to do this. When I press ⌘-⇧-P from iTerm I am immediately connected to all my Raspberry Pis at the same time. It’s great for running simultaneous software updates.
Some Assembly Required
This is the first in a series of articles I am writing to tell you the story of how I built a small data center out of Raspberry Pis. We will uncover the struggles I overcame, along with the triumphs, I enjoyed throughout the process. Pictured below is the end result.
How to check the revision number of your Raspberry Pi
As mentioned in the article, there was a design flaw of the Raspberry Pis prior to revision V1.2 causing some USB-C power cables not to work. There a couple of ways to see what revision you have.
Permission to Play
It started as a friendly Twitter rivalry between me (@runner_steve), and DaShaun Carter (@Dashaun) of Pivotal. The challenge: who could create the sexiest Kubernetes cluster out of Raspberry Pis?
Spring Boot with Azure Services
In 2019, I created a project demonstrating integration of Spring Boot with Azure services. Below is a 4-min overview.
Spring Cloud Config with Spring Vault
The Spring Cloud and Spring Vault project is a simple example of using Spring Vault with Spring Config. There is still much to explore, like auto-unseal, to it will continue to evolve.