Author: admin

  • How to Calculate Proportions Using 2 Metrics in Prometheus

    Recently I needed to improve an alert defined using Prometheus Alert Manager to trigger when less than half of the minimum replicas are up, eg. I had a look at existing metrics collected by kube-state-metrics in my Kubernetes cluster, the number of replicas running well could be queried with the kube_pod_status_ready metric and the number…

  • An Easy Way to Build GitHub Actions Workflows

    TL; DR: I found it not so convenient to look up GitHub’s official docs when traversing objects in GHA(GitHub Actions), ie. what’s in github.event object? So using a few steps now all the data structures are available to me. 🙂

  • A Simple and Interactive Decoder for Kubernetes Secrets

    TL; DR: Here’s a simple shell function which can decode Kubernetes secrets interactively and should work in any Bash and compatible environments. Requirements: Here’s the code. This can be chained together with other commands too, eg. on a Mac, I can do Then the decoded content of selected secret key will be put into clipboard.…

  • How Much Did I Pay for Electricity, Petrol and Gas in 2023?

    Am I one of those minimalists? No. The secret is, I paid 0 for petrol and gas – I have no need of them since I fully electrified my home. Here are the milestones of my journey to full electrification: I suspended my gas account in May 2023 and the process costed me $88. With…

  • A GKE Issue: Metadata Service Is Unreachable In Nodes

    Recently I encountered some errors in a GKE cluster where a lot of pods were stuck at crash loop backoff state, which means the pods couldn’t recover on their own. When taking a closer look, I saw errors like: It’s a DNS issue then. However when I created a pod and ran some DNS tests…

  • ArgoCD, Jsonnet and Tanka in 2024

    A few years ago, I got to know Jsonnet and I loved it at first sight. I used a nice little tool called tanka to manage my Jsonnet manifests and I got them working together with ArgoCD, and finally I re-deployed my blog using this combo. Everything worked like a charm, until… Recently I upgraded…

  • How to Enable Gzip Compression for Istio Ingress Gateway

    TL; DR: here’s a code snippet to turn on gzip compression for Istio’s ingress gateway, using Envoy filter. Tested with Istio 1.16 and Kubernetes 1.26. To test it with curl: 🙂

  • 3 Years Later, How Is My PowerWall 2 Keeping Up?

    TL; DR: I’ve installed my PowerWall 2 3 years ago. It wasn’t cheap but the quality is great too. There’s 0 issue so far and it helped a lot to “keep my lights on”. And if calculated using recent electricity rate, it has saved me $3,115 so it’s still a long way 🙂 Uptime: 100%…