トップ «前の日記(2021/09/01 (水) ) 最新 次の日記(2021/09/03 (金) )» 編集 RSS feed

HsbtDiary


2021/09/02 (木) [長年日記]

hsbt.org で動かしている Ruby を 3.1.0-dev にした

この日記を含めて 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-compose で docker-compose.yml を扱う術

一日経って 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 を docker に alias した場合は処理の途中でちょっと追いかけるのが難しいエラーで死ぬ
  • docker を coreos の docker.sock を叩く形での docker-compose だと ssh プロトコルでの鍵交換ができなくてパスワード認証にフォールバックして死ぬ

podman-compose は homebrew などの python3 で扱うときは pyyaml が必要だったのでグローバルに入れてしまって、上のエントリにあるような rootless runtime を cri に変更したら hellow world 的なやつや wordpress で compose up できたのでこれで良さそう。まあ中期的には k8s にしていくのがいいんだろうな。