Author: valerauko

32

Ez is elérkezett hát, 32 lettem a minap. Mi változott? Azon kívül, hogy Tokióban is kezd végre őszies lenni az idő, igazán nem sok. Idén kivételesen (nem tudom, mennyire szándékosan) volt társasági esemény is a “nagy napon” és volt animés kollégákkal voltam sörözni. Érdekes volt látni, hogy kinek hogy alakulnak a dolgai (főleg így, hogy a korona miatt másfél éve nem láttam őket). Én mit tettem le az asztalra?


Writing a lisp-ish compiler in Rust

It was a while back that I got a notice from Shibuya lisp that the 100th event is coming up. It’s a (Common) Lisp/Clojure meetup in Tokyo (though since covid, online). I don’t know if it’s a common thing among lispers, but everyone there seems to at least try writing their own lisp (and talk about it) somewhere down the path.

Before I wasn’t that interested. I could do most of what I wanted to do in Clojure without too much pain. Then I tried writing a (performant) wrapper around Netty and it got a bit more painful. Things like nth calls on function argument lists started showing up on my flame charts (testing with 100 million requests) and rough edges around interop cut my hands (hello proxy and abstract classes).


Beer bars to check out in Tokyo

Tokyo has a lot of places to grab a beer. Considering that even in medieval Europe even a bigger village would have its pub, it’s no surprise that the largest city in the world is in no short supply for establishments serving booze. If you ask for “a beer” in most of them however, you’re gonna get a draft Kirin, Asahi Super Dry or Premium Malt’s—mass-produced lager/pilsner suitable for chugging down by the pint, but won’t get you much excitement as a beer. Craft beer is alive and well in Japan, and if you know where to look, you can find real gems both domestic and global.

Now that the covid state of emergency is nearing its end, here are some places I visit to get hydrated. Or beer-drated? How does that work?


Arrival

I’ve rewatched the Arrival movie from 2016 a bunch of times, though most of the times skipping here and there, just “kinda” rewatching the parts that tickle my brain the right way, out of order as fitting to the movie.

I won’t pretend to understand the dilemma of the heroine or why her choice resulted in what it did. I haven’t been married or had a child, so the gravity of those just goes right above my head. I just assume “probably pretty bad.”


charts/stable and git references

Helm was meant to be the package manager for Kubernetes. One common problem for package managers is “how do I find my packages?” Many package systems opt for having a default central repository for stuff. Distros have their central repos for apt. Programming languages too: for Node it’s npm, for Ruby it’s RubyGems, for Java it’s Maven central, for Clojure it’s Clojars. Of course most if not all systems have a way to add other package repositories or at least some other means to pull in dependencies (referencing git commits for example).

For Helm the central repository of charts/stable used to be the obvious default. You can of course add other repositories too, but defaults are powerful and many people will just give up if something is not available in the default source. On the other hand, having everything in one place puts a huge burden on the maintainers of that one place, as was the case of charts/stable. So they deprecated it.


Azok a fránya tervek

Az év elején írtam róla, hogy a koronavírus hogy megtépázta a terveimet. Akkor úgy volt, hogy tavasszal az Island peak (6189m), majd nyáron a Broad Peak (8047m) és a K2 (8611m) lesz úticél. Végül persze a korona jobban tudta, és sikerült mindkét tervemet bedöntenie.

Havas erdő Naganoban

Upgrading my cluster

My cluster is now running on k3s 1.20.6 and Argo CD 2.0.0 with its Helm chart at 3.2.2. Actually, upgrading Argo itself wasn’t much of a problem. I just changed the targetRevision of the Application and it was up and running in a few minutes. Then a few days later things got interesting.

There were no downtimes, but I noticed that Argo started failing to sync itself. Apparently a new minor version of the Helm chart came out (though it was still the same application version) that added support for the networking.k8s.io/v1 version of Ingress. However, it also accidentally broke clusters running Kubernetes before 1.19. And mine was one such.

While the Argo people are figuring out how to fix this (if), I decided to go and take this opportunity to upgrade my cluster. This wasn’t as painless as it should’ve been though.


Gear I want and gear I can’t seem to find

The mountain gear I look for the most is: very light but durable protection for my limbs. That means gloves and boots that are as light and breathable, quick-drying as possible so my hands and feet don’t rot in sweat in the summer heat, while being durable enough not to fall apart scrambling over rocks in the Japanese alps.

Rocky route in the Japanese alps (at Nishi-Hotaka)

Dealing with DiskPressure

My 4-node k3s cluster (where this blog is hosted too) kept dying every now and then. Looking at kubectl describe nodes it quickly became evident that this was caused by the nodes running out of disk space. Once a node gets tainted with HasDiskPressure, pods might get evicted and the kubelet will be using (quite a lot of) CPU trying to free disk space by garbage collecting container images and freeing ephemeral storage.

My setup by default uses local storage (the local-path provider) where volumes are actually local folders on the node. This means that pods that use persistence are stuck with the same node forever and can’t just move around. This makes eviction a problem, since they have nowhere else to go. It also means that disk usage is actually disk usage on the node, and not on some block volume over the network.


Változnak a tervek

A koronavírus az én terveimet se kíméli. Tavaly nyáron Indonéziába terveztem menni, megmászni Óceánia legmagasabb hegyét, majd ősszel egy duplát terveztem a Himalájába, ahol egy egy hónapos túra során másztam volna meg a Mera Peaket és az Island Peaket. Először a nyári út úszott el, ami helyett még próbáltam másik vezetővel megszervezni ugyanazt, de persze a vírus jobban tudta.

K2 from the north
Photo by Kuno Lechner

Így arra már számítottam, hogy ősszel én már nem megyek majd a Himalájába, de hogy még a ritkaságszámba menő családi lagzira se jutottam el, az egy kicsit fájt. Az őszi duplát végül sikerült átszerveznem 2021 tavaszra, de erről is a minap szóltak, hogy nem lesz megtartva, mert nem jött össze a szükséges létszám.

Mi lesz így akkor idén?