U n r e a s o n a b l o g

Docker, Kubernetes, and an Apple Chip on my Shoulder

I recently had the displeasure of having a whale and an elephant collide in my work laptop when I was trying to get some work done.

A whale and an elephant

The whale in question was 🐋Docker, and the elephant was 🐘Postgresql, and boy, did they create confusion (but admittedly with some help).

As it turns out, Docker installs its favorite version of Kubernetes even if you've already installed another version. And Docker 4.12.0 likes Kubernetes 1.25.0. And that's all fine and dandy, except that Kubernetes 1.25.0 removed an API that one of our Docker images depended on [1].

The result was that my database would never become ready.

The search for the cause of the issue was diverted because the computer has an 🍏Apple M2 chip, which Docker sternly warned might cause issues with some of the images. Additionally, the computer had just been set up, so no dependencies had been confirmed to be correctly installed and working locally before. And as a bonus, our Tilt setup was behaving inconsistently (perhaps a fault of our Tilt config).

To make confusion complete: we did think to compare Docker versions earlier on... but we must have misread the versions numbers when doing so. 🤦️️️

I regularly feel a bit like an idiot – perhaps because I regularly am one – but this time the feeling was a bit over the top.


[1] Eventually, the image got a PR updating the API it uses, so this issue will hopefully be short-lived. But that PR appeared two days after this issue appeared for me.