Day in my life

2025

Feb 20

Expose native k8s services using Cloudflared

Prerequisites Kubernetes cluster kubectl configured Domain and a Cloudflare account Homebrew (for macOS users) Steps Install Cloudflared brew install cloudflared Log in to your Cloudflare account cloudflared tunnel login Note: if you have multiple domains, you might have to select the one you want the tunnel to be created on Create a tunnel cloudflared tunnel create <your-tunnel-name> # …

more

Feb 11

Kubernetes services over BGP with Metallb and pfSense

Setting up a load balancer in a homelab is essential if you intend to expose your services internally or externally. While it’s worth noting that you don’t necessarily need a load balancer and could expose native Kubernetes services using tools like Cloudflare, that’s a topic for another blog post. However, having a load balancer becomes necessary if you’re tinkering with …

more

Jan 28

Kubernetes Gateway API with Contour

This guide walks you through installing the Gateway API CRDs, deploying Contour using Helm with the Gateway API enabled, creating a GatewayClass, updating the Contour ConfigMap, and restarting the Contour deployment. Prerequisites: A Kubernetes cluster. kubectl installed and configured to connect to your cluster. Helm installed. Steps Install Gateway API CRDs kubectl apply -f …

more

2022

Jun 1

Kubernetes on Debian 11 (Bullseye)

I took Kubernetes 1.24 for a spin, which has dockershim removed. I wished to install it on Debian 11 using kubeadm, and here are the issues that I had to tackle to get it working. Disable swap If it’s a fresh install of Debian, during installation, disable the swap partition completely. Even with a swap partition disabled, the system still creates a swap file. Use the following command to disable …

more

Jan 5

Configuring Docker on Synology NAS (DSM 7.x)

I bought a Synology NAS DS218+ about a couple of years ago. Since I’ve been using it as a transient store for all media files before it uploads to the cloud for permanent storage. I was looking to utilise it more, rather than a glorified cache, but memory limitation was a bummer. DS218+ comes with 2GB of built-in memory and is user-upgradable to a max of 10GB by adding a second 8GB DIMM.

more

2021

Dec 20

VS Code: managing extensions across machines

Do you use VS Code for editing or developing code? Do you use VS Code across multiple machines? Do you like to have extensions across multiple environments the same? If you answered yes to all questions, then here is the solution. Enable Command Line Tool to access VS Code from the command line (see below). Do this both on the source and target machines. Executes the following command on the …

more

Oct 28

Setting up Kubernetes for local development using k3d and Docker

Kubernetes has become the de facto choice for running workloads for most microservices. Hence, keeping parity with production, it’s wise to use Kubernetes for local development. This article uses k3d distributions of Kubernetes since it’s lightweight and runs on Docker. If you are confident running Kubernetes, there are other options like minikube and Docker Desktop. I initially wrote this article …

more

Feb 21

Cross-compiling Rust using Docker

If you are reading this blog, you are probably looking for ways to cross-compile Rust into another target platform other than the one you are coding on. If you are, then you are in for a slice of my take on how I have achieved it. A solution, as you may have probably guessed from the title, is to use Docker. I start up a local Docker container with all the necessary tools and cross-build …

more

2018

Sep 30

Journey to OCMJEA (SCEA)

A desire to achieve this Architect certification started sometime around 2007 when I started to pursue Sun Certified Java Programmer 5.0 (SCJP). Those days on the Sun site, they had this certification path that showed three layers, the bottom one being the SCJP and the middle tier with SCJD, SCWCD, SCBCD and the top tier being SCEA. I remember saying to myself What would it take to get there, …

more

Sep 27

Blogging Reignited

This is the third (re)launch of my blog site, and hopefully will make enough time this time to pin my thoughts often. I started to write about my experience back in 2010 on blogger.com. I got onto Blogger as I was using Google services a lot. A few years down the line, WordPress appealed as it was easier to write and format, as it offered a better WYSIWYG editor compared to Blogger.

more

© Nataraj Basappa 2025