Skip to content

Cloud Infrastructure

Use BATS to Automate Kubernetes Testing

BATS Testing
The Bash Automated Testing System brings familiar scripting to Kubernetes validation.

Have you wanted to test things that you know how to run in your bash scripts or terminal, but aren't quite sure how to make it happen? The Bash Automated Testing System (BATS) makes that dream a reality!

BATS lets you create automated, repeatable tests using familiar bash commands. Your tests work equally well in your terminal and CI/CD pipelines, giving you confidence to promote Kubernetes resources to production.

This post covers practical examples of testing Kubernetes clusters, from basic API connectivity to complex application health checks and resource validation.

Build a MkDocs Site with Terraform and S3

Find the latest code for this project on my GitHub

Tired of paying \(50-200+ per month for WordPress hosting?** What if I told you that you could host a beautiful, fast, professional website for literally **\)3 per month?

Chances are you have seen a website or documentation that make use of MkDocs, and especially Material for MkDocs. In fact, this blog site runs using Material for MkDocs and I have to say it is a delight compared to typical blog or WordPress platforms!

This becomes really powerful - and incredibly cost-effective - combined with the ability to host a static website using Amazon S3.

Build Your Own GitLab Runners on EKS

As more and more DevOps teams adopt GitLab for internal development, and furthermore use GitLab CI/CD pipelines, finding ways to manage costs while still delivering highly available, scalable pipelines is crucial.

This is Part 1 of a 4-part series on building production-ready GitLab runners on AWS. In this foundational post, I'll show you how to leverage EKS Auto Mode with Terraform and Helm to create a robust, scalable runner infrastructure.

Karpenter and Why You Should Ditch Cluster Autoscaler

If you have used Amazon Elastic Kubernetes Service (EKS) you may have experienced that node groups' autoscaling leaves a bit to be desired. It can be slow, clunky to configure, and making use of mixed instance types can be difficult. My biggest complaint? Nodes launch SLOW!

Enter Karpenter. Karpenter is a node provisioner - which now uses the NodePool terminology, similar to GKE and others - that utilizes the EC2 Fleet API to schedule nodes directly to the cluster, without having to be in a managed node group!

Why would you want to do this? How about nodes that launch and reach Ready state in k8s in 10 seconds!

Read on to see how you can scale faster, more reliably, with greater flexibility, and save money by using Karpenter.

Plex Media Server on Kubernetes with Hardware Transcoding!

Frank Get Weird With It
If Plex on Kubernetes is wrong, I don't wanna be right!

Running Plex Media Server on Kubernetes isn't just about containerization - it's about building a production-grade media infrastructure that leverages enterprise storage patterns, hardware optimization, and cloud-native principles. This setup delivers superior performance, simplified maintenance, and demonstrates advanced Kubernetes concepts that translate directly to enterprise environments.