A total solar eclipse retrospective

As a photography enphusiast, all-around nerd, and a “moon dork” as once lovingly described by my wife, you can bet I was excited for this year’s total solar eclipse. I had originally settled for only seeing it partially from North Carolina, but several months ago my wife and I impromptu decided to make an adventure out of it. Looking at the map and convenient flights, we settled on visiting Toronto and seeing the eclipse in the Niagara Falls area....

April 9, 2024 · 7 min · Patrick Easters

Forging an optimal MetalLB configuration

As someone who’s been playing with a lot of Kubernetes on bare metal lately, I’ve come to appreciate MetalLB (a load balancer implementation for bare metal). Nothing is worse than blindly pasting YAML into your terminal, then seeing Pending next to all your newly created services expecting cloud load balancers. MetalLB was the last thing I needed to make my tiny home lab cluster feel like a real cloud. When I was first configuring it, the hardest thing to wrap my head around was how traffic flowed in the different modes and traffic policies. I spent a lot of time reading docs and experimenting, so hopefully this post will help you understand the different modes and how they work with service traffic policies. ...

May 30, 2022 · 6 min · Patrick Easters

Taking a whack at custom Prometheus alerting

After many years of being on-call under my belt, I never thought I’d say I have a favorite alerting method. But that changed after watching one of Justin Garrison’s videos which had an excellent depiction of how Linux’s Out-of-Memory Killer works. I was no stranger to the OOM Killer visiting my Kubernetes clusters, so this gave me a dumb idea for a (perhaps) fun alerting mechanism: the OOM Bonker. ...

May 11, 2022 · 4 min · Patrick Easters

Track aircraft with a Raspberry Pi

I live near a major airport, and I frequently hear aircraft flying over my house. I also have a curious preschooler, and I find myself answering questions like, “What’s that?” and “Where’s that plane going?” often. While a quick internet search could answer these questions, I wanted to see if I could answer them myself. With a Raspberry Pi, an inexpensive radio, and open source software, I can track aircraft as far as 200 miles from my house. Whether you’re answering relentless questions from your kids or are just curious about what’s in the sky above you, this is something you can try, too. ...

March 17, 2021 · 3 min · Patrick Easters

Putting the CRD in Christmas Decorations

It’s a few days in to the holiday shutdown at work, so I’ve been enjoying some downtime with my family at home. There’s been plenty of last-minute shopping, gift wrapping, baking, and, evidently, building operators with the Operator SDK. For the unaquainted, the Operator Framework is a toolkit that makes it easy to manage complex applications on top of Kubernetes. While I’ve had the chance to use the Go SDK for a few projects, I’ve recently been reading more about Ansible operators. Ansible operators allow you use Ansible roles to configure an application and respond to any changes to its Kubernetes resources. An Ansible operator allows you to handle complex scenarios just like the Go SDK, but lets you use the familiar Ansible syntax (no Go code required) and take advantage of the large Ansible module ecosystem. While operators are designed to manage resources inside Kubernetes, they also do a great job at managing resources outside of the cluster such as TLS certificates or even external monitoring checks. As I was thinking of a good first Ansible operator, I looked up from my couch and saw my Christmas tree. I already had many of my Christmas lights integrated with Home Assistant, so why not take advantage of the easy-to-use REST API and automate my Christmas lights? ...

December 24, 2019 · 6 min · Patrick Easters