この日記を含めて Ruby 3.0.2 --jit
オプションで動かしていたんだけど、アクセスが増えるなど何かの契機で SEGV が起きるということが今朝の podman のエントリで頻発してしまった。
https://bugs.ruby-lang.org/issues/18142
@k0kubun に相談したら master で発生するかみてくれませんかということだったので 3.1.0-dev をビルドして Ruby を切り替えたら SEGV は消えて快適に動くようになった。割と高負荷な状況でだけ再現するので特定はむずいっぽいけど、3.0.2 には --jit
周りで不具合があるよということがわかった出来事でした。
一日経って podman の情報がたくさん出てきて片っぱしから読んでたけど、以下のエントリが自分がちょうどハマったポイントが的確にまとまっていて良かった。
https://marcusnoble.co.uk/2021-09-01-migrating-from-docker-to-podman/
podman で特にハマるのがイメージネームの shotname が使えないという docker どっぷりだった人には「えっ」となるところだと思う。この辺、ghcr.io とか GHES の registry を使っているとフルパスで書かないとダメでめんどい〜となってたけどむしろ docker で省略できるというのが特殊なので、どんなときもフルパスで書く癖をつけていった方がいい気がする。
で、今日は docker-compose 相当のことができないと社内で「これ使って」ってやるには難しいなあと思って調べていた。結論としては podman-compose を使うか k8s にしなさいって感じだった。具体的には以下のような辺りでダメっぽい。
podman-compose は homebrew などの python3 で扱うときは pyyaml が必要だったのでグローバルに入れてしまって、上のエントリにあるような rootless runtime を cri に変更したら hellow world 的なやつや wordpress で compose up できたのでこれで良さそう。まあ中期的には k8s にしていくのがいいんだろうな。