blog.miraco.laWrite a Kubernetes Controller With Zero CodeThe Problem Sometimes we want to have control loops that watch for state, and make changes based on that state. In Kubernetes that's a controller, but writing a Kubernetes controller in Go is a non-trivial task. It requires knowledge of Kubernetes, g...Jan 14·3 min read
blog.miraco.laOld hardware, New (AI) problemsWhat do we say to buying bleeding edge hardware for running AI workloads? Not today! I have an old HP Z600 (2009!) and GPU that I wanted to use to run #Kubernetes, #Ollama, Open WebUI, and utilize NVIDIA’s gpu-operator. It has been a solid machine th...Feb 3, 2025·1 min read
blog.miraco.laBGP ,Cilium, and FRR: Top of Rack For All!I recently came across a LinkedIn post talking about the above concepts and its trivialness to setup. The goal: Use Cilium's BGP capabilities to either expose a service or export the pod cidr and advertise its range to a peer. We are all on different...Mar 15, 2024·3 min read
blog.miraco.laHow conntrack Could Be Limiting Your k8s GatewayUnder high load in specific scenarios, a Kubernetes gateway may be limited by more than just its obvious CPU and Memory limits or requests if Karpenter is aggressively sizing the node (a different topic!). You may be hitting a wall in conntrack exhau...Feb 9, 2024·3 min read
blog.miraco.laA Tale of Two VLANSWhen handling sensitive traffic, in my scenario DNS, its sometimes necessary to isolate the traffic from one another. In this example, I wanted one DNS server on my Kubernetes cluster to serve two VLANs but I didn't want those VLANs to have any acces...Feb 5, 2024·4 min read