Patrick Easters https://patrick.easte.rs/ Recent content on Patrick Easters Hugo -- gohugo.io en-us Tue, 09 Apr 2024 21:00:00 -0400 A total solar eclipse retrospective https://patrick.easte.rs/post/2024/solar-eclipse-post-retrospective/ Tue, 09 Apr 2024 21:00:00 -0400 https://patrick.easte.rs/post/2024/solar-eclipse-post-retrospective/ As a photography enphusiast, all-around nerd, and a &ldquo;moon dork&rdquo; as once lovingly described by my wife, you can bet I was excited for this year&rsquo;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. Forging an optimal MetalLB configuration https://patrick.easte.rs/post/2022/forging-optimal-metallb-config/ Mon, 30 May 2022 22:00:00 -0400 https://patrick.easte.rs/post/2022/forging-optimal-metallb-config/ <p>As someone who&rsquo;s been playing with a lot of Kubernetes on bare metal lately, I&rsquo;ve come to appreciate <a href="https://metallb.io/">MetalLB</a> (a load balancer implementation for bare metal). Nothing is worse than blindly pasting YAML into your terminal, then seeing <code>Pending</code> next to all your newly created services expecting cloud load balancers.</p> <figure> <img src="https://patrick.easte.rs/post/2022/forging-optimal-metallb-config/img/waiting.jpg" /> <figcaption></figcaption> </figure> <p>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.</p> Taking a whack at custom Prometheus alerting https://patrick.easte.rs/post/2022/oom-bonker/ Wed, 11 May 2022 22:00:00 -0400 https://patrick.easte.rs/post/2022/oom-bonker/ <p>After many years of being on-call under my belt, I never thought I&rsquo;d say I have a favorite alerting method. But that changed after watching one of Justin Garrison&rsquo;s videos which had <a href="https://www.youtube.com/watch?v=KNexvhb_DuY&amp;list=PLehXSATXjcQHGYufa__n1y9WIUZjyNMEw&amp;t=43s">an excellent depiction of how Linux&rsquo;s Out-of-Memory Killer works</a>. I was no stranger to the <a href="https://docs.rackspace.com/support/how-to/linux-out-of-memory-killer/">OOM Killer</a> visiting my Kubernetes clusters, so this gave me a dumb idea for a (perhaps) fun alerting mechanism: the <a href="https://github.com/patrickeasters/oom-bonker">OOM Bonker</a>.</p> <video width="600" playsinline autoplay loop muted> <source src="https://patrick.easte.rs/post/2022/oom-bonker/img/bonker.webm" type="video/webm" /> </video> Track aircraft with a Raspberry Pi https://patrick.easte.rs/post/2021/track-aircraft-pi/ Wed, 17 Mar 2021 00:00:00 -0400 https://patrick.easte.rs/post/2021/track-aircraft-pi/ <p>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, &ldquo;What&rsquo;s that?&rdquo; and &ldquo;Where&rsquo;s that plane going?&rdquo; often. While a quick internet search could answer these questions, I wanted to see if I could answer them myself.</p> <p>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&rsquo;re answering relentless questions from your kids or are just curious about what&rsquo;s in the sky above you, this is something you can try, too.</p> Putting the CRD in Christmas Decorations https://patrick.easte.rs/post/2019/putting-the-crd-in-christmas-decorations/ Tue, 24 Dec 2019 22:00:00 -0500 https://patrick.easte.rs/post/2019/putting-the-crd-in-christmas-decorations/ <p>It&rsquo;s a few days in to the holiday shutdown at work, so I&rsquo;ve been enjoying some downtime with my family at home. There&rsquo;s been plenty of last-minute shopping, gift wrapping, baking, and, evidently, building operators with the <a href="https://github.com/operator-framework/operator-sdk">Operator SDK</a>.</p> <p>For the unaquainted, the <a href="https://coreos.com/blog/introducing-operator-framework">Operator Framework</a> is a toolkit that makes it easy to manage complex applications on top of Kubernetes. While I&rsquo;ve had the chance to use the Go SDK for a few projects, I&rsquo;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.</p> <p>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 <a href="https://www.home-assistant.io/">Home Assistant</a>, so why not take advantage of the easy-to-use REST API and automate my Christmas lights?</p> Deploying memcached in a StatefulSet with OpenShift https://patrick.easte.rs/post/2018/openshift-memcached-statefulset/ Thu, 03 May 2018 22:48:00 -0400 https://patrick.easte.rs/post/2018/openshift-memcached-statefulset/ <p>Over the past few months at Red Hat, I&rsquo;ve been working with my team on streamlining our CI/CD process and migrating some of our applications into <a href="https://www.openshift.com/">OpenShift</a>. As we&rsquo;ve been slowly moving apps, it&rsquo;s been a great opportunity to revisit some of the basics of our architecture and look at ways we can better use OpenShift to . What may have worked well in a VM-based deployment doesn&rsquo;t necessarily translate well into a container-based deployment. For the sake of this post, I&rsquo;ll be showing how we use a recently stable feature of OpenShift (and Kubernetes) to deploy <a href="https://memcached.org/">memcached</a> for one of our Ruby apps on the Red Hat Customer Portal.</p> Feed the dog and close the door with an open source home automation system https://patrick.easte.rs/post/2018/home-assistant/ Tue, 20 Mar 2018 00:00:00 -0400 https://patrick.easte.rs/post/2018/home-assistant/ <p>As voice assistants, smart bulbs, and other devices increasingly become household staples, more people than ever are bringing smart technology into their homes. But the bewildering assortment of products on the market can present challenges: Remembering which app to use and trying to link things together with automation can get complicated quickly. In this article, I’ll show you a few ways I used an open source home automation platform, Home Assistant, to bring all my devices together.</p> Integrating existing home security sensors with MQTT https://patrick.easte.rs/post/2017/home-security-esp8266-mqtt/ Tue, 28 Mar 2017 00:00:00 -0400 https://patrick.easte.rs/post/2017/home-security-esp8266-mqtt/ <p>When my wife and I bought a house a couple years back, I knew it would only be a matter of time before I started getting into home automation. My house, like many built in the late 90s, was pre-wired for an alarm system. While I had no desire to revive a 20-year-old alarm panel, it did mean all my exterior doors were pre-wired with inconspicuous sensors. I already run <a href="https://home-assistant.io">Home Assistant</a> on a Raspberry Pi, so I was looking for a way to integrate these hard-wired door sensors with what I already have. I had read about these cheap WiFi-enabled <a href="https://www.amazon.com/gp/product/B010O1G1ES">ESP8266 boards</a>, so I decided this would be a simple project to try it out with.</p> Using Traefik with TLS on Kubernetes https://patrick.easte.rs/post/2016/traefik-tls-k8s/ Tue, 16 Aug 2016 00:00:00 -0400 https://patrick.easte.rs/post/2016/traefik-tls-k8s/ <p>Over the past few months, I’ve been working with <a href="http://kubernetes.io/">Kubernetes</a> a lot as Ayetier has been making the shift towards container orchestration. As easy as it was to create and scale services, it was a bit frustrating to see how most reverse proxy solutions seemed kludgy at best.</p> <p>That’s why I was pretty intrigued when I first read about <a href="https://traefik.io/">Traefik</a> — a modern reverse proxy supporting dynamic configuration from several orchestration and service discovery backends, including Kubernetes.</p> About https://patrick.easte.rs/about/ Mon, 01 Jan 0001 00:00:00 +0000 https://patrick.easte.rs/about/ Patrick is a staff field engineer at Grafana Labs. He is always trying to keep up with best practices for cloud native infrastructure and enjoys helping others learn the same. When he&rsquo;s not busy tinkering with Kubernetes, he&rsquo;s probably building something in his garage, trying to find the best pizza recipe, or stepping on snacks dropped by his kids. Services https://patrick.easte.rs/services/ Mon, 01 Jan 0001 00:00:00 +0000 https://patrick.easte.rs/services/ I specialize in providing top-tier consulting and professional services for cloud and Kubernetes infrastructure. Whether you&rsquo;re just beginning your journey into the cloud or looking to optimize your existing infrastructure, I&rsquo;m here to help you navigate the complexities and harness the full potential of cloud-native technologies. What I Offer Cloud Infrastructure Consulting I offer comprehensive consulting services to help you design, implement, and manage cloud infrastructure tailored to your business needs.