-
How to Connect to Cloud SQL via SSH
TL;DR: here’s a handy bash script which can connect to a private Cloud SQL instance(MySQL in this case) via a bastion host. Prerequisites: Google Cloud SQL instance with mTLS certs provisioned Google Cloud SDK installed(the gcloud command) a bash shell(better be V5.0+) OpenSSH and MySQL CLI installed Google Cloud SQL is an RDB as a…
-
A Load Balancer for Cloud SQL Replicas
TL;DR: As of Aug 2022, there’s no out of box load balancing for Google Cloud SQL read replicas. So I built one for MySQL replicas with HAProxy with the ability to dynamically reload when number of replicas has changed. It will be quite straight forward to run a few HAProxy pods in Kubernetes as a…
-
How to Use a Local Persistent Volume
TL;DR: A local persistent volume in a Kubernetes cluster is a persistent volume allocated in a certain node. Any pod mounting the volume will be automatically scheduled in the same node. Since it’s limited to 1 node, clearly it can’t be used as a high-availability solution, but hey, it’s quite Ok to use it for…
-
Home Owner’s Guide to Free Gas Heating
TL; DR. No there’s no free natural gas but there’s free electricity, hope you don’t mind heating up your rooms with reverse cycle air conditioners instead My old house had an equally old gas heater, and we had been using it for years. 4 years ago, the heater broke down, so I had it replaced…
-
How to Share Files on Linux Using Docker
Prerequisites: A Linux computer(mine is Fedora 36) Docker(or podman) installed I know, there’s traditional ways to share files over network such as samba or the very current cloud way such as Google Drive. Or I can just use a USB key. But I managed to impress my child(who has to use Windows because of her…
-
How to Build Multi-Arch Docker Images for MacBook M1
At work, I currently use a MacBook Pro with an Intel chipset and some of my colleagues have upgraded to ones with M1 chipset which is of arm64 or aarch64 architecture. Then expectedly I need to build some Docker images for both architectures. I’ve done some multi-arch Docker stuff before so this is not really…
-
How To Renew Certificates in Kubernetes Clusters, Revisited
There is a lot of TLS certificates used by the core of a Kubernetes cluster and a popular one is the client-server pair used by kubectl to authenticate to the cluster control plane. In my previous notes on how to renew certificates in a Kubernetes cluster with kubeadm, I found that the steps are quite…
-
Home Battery, Worth Buying?
During the lockdown days in 2020, I got A Tesla Powerwall 2 + Backup Gateway 2 combo installed by Natural Solar. The total cost was A$14,000. “Is it worth buying?” or “Would it pay for itself?” those were the question I got asked a lot. With a full year’s data from 2021, I think I…