Kubernetes the Hard Way Deep Dive -- Intro
April 11, 2020
Categories: Tags:TL;DR: This is the introduction to a series of posts in which I will work through Kelsey Hightower’s Kubernetes The Hard Way, explaining key concepts in detail along the way.
Turning off Google Analytics for Local Hugo Server
April 3, 2020
Categories: Tags:TL;DR: If using Google Analytics, most Hugo themes load the tracking script even when running locally. This causes a bunch of bogus page views when writing a new article. Creating separate config files for development and production is an easy way to fix this.
Whoops… that’s me visiting my site on localhost
Load Testing Caddy Web Server on a GCP F1-Micro Instance Using K6 (k6.io)
March 24, 2020
Categories: Tags:TL;DR: I used the K6 load testing framework to benchmark the Compute Engine f1-micro and Caddy web server hosting this site. With CloudFlare caching turned off, the server was able to serve an onslaught 800 virtual users continuously reloading the page (while maintaining a median request duration of <400ms
), but started dropping requests when increasing the load further.
Converting an Old MacBook Into an Always-On Personal Kubernetes Cluster
March 10, 2020
Categories: Tags:TL;DR: I set up Minikube on an old (2012) MacBook Air and configured it to be able to connect from outside my home network so I would have an always-on Kubernetes cluster at home to experiment with.
Photo Attribution: flickr
Managed Kubernetes Price Comparison (2020)
March 5, 2020
Categories: Tags:TL;DR: Azure and Digital Ocean don’t charge for the compute resources used for the control plane, making AKS and DO the cheapest for running many, smaller clusters. For running fewer, larger clusters GKE is the most affordable option. Also, running on spot/preemptible/low-priority nodes or long-term committed nodes makes a massive impact across all of the platforms.
CI/CD for this site (Hugo + Cloud Build)
February 21, 2020
Categories: Tags:TL;DR: Configuring Cloud Build to automatically handle Continuous Integration and Continuous Deployment for this site based on Git triggers ended up being a bit trickier than I would have expected.