maelvls dev blog

maelvls dev blog

Software engineer. I write mostly about Kubernetes and Go.

26 Jan 2020

Deep dive into Kubernetes Networking: my kube-dns is not working!

Some pods were unable to connect to the kube-proxy pod on one of my GKE Kubernetes clusters. This post present an in-depth investigation using tcpdump, wireshark and iptables tracing.
20 Jan 2020

Avoid GKE's expensive load balancer by using hostPort

I want to avoid using the expensive Google Network Load Balancer and instead do the load balancing in-cluster using akrobateo, which acts as a LoadBalancer controller.
06 Jan 2020

What to do when Go ignores HTTP_PROXY for 127.0.0.1

At some point, the Go team chose to disable the proxy for requests coming from localhost or 127.0.0.1. This is annoying when debugging services locally.
23 Nov 2019

Go Happy Path: the Unindented Line of Sight

Readability is a properly we all love about Go. In other languages, it might be fine to have a lot of nested if statements; in Go, it is a good practice to keep away from overly-nested logic.
13 Nov 2019

GO111MODULE is everywhere: history and tips

GO111MODULE is all over the place. It appears in README install instructions, in Dockerfiles, in makefiles. On top of that, the behavior of GO111MODULE has changed from Go 1.11 to 1.12, changed again with 1.13 and will changed a last time in 1.14.
12 Nov 2019

Use of conditions in Kubernetes controllers

Although progress is being made, Kubernetes controllers and operators still require prior knowledge about Kubernetes internals. Information on how to set the status is scattered across comments, issues, PRs and the Kubernetes code itself. Conditions may be a good solution for your controller, but for what?