機能 #444
完了
各種 Docker ホストに Harbor のキャッシュを利用させる
nop_thread さんが4ヶ月前に追加.
4ヶ月前に更新.
説明
#98 でキャッシュプロキシを立てたので、諸々の image を全部ここに集約する。
外部への通信が減って高速化が期待できるのはもちろん、定期的な pull ができる普通のレジストリとしても使えるので upstream が消えた場合の備えにもなる。
関連するチケット
2 (0件未完了 — 2件完了)
- 関連している 機能 #98: 自宅クラスタ (chuable, feng) 用の Docker レジストリの整備 を追加
- 関連している を削除 (機能 #98: 自宅クラスタ (chuable, feng) 用の Docker レジストリの整備)
- 次のチケットに後続 機能 #98: 自宅クラスタ (chuable, feng) 用の Docker レジストリの整備 を追加
#98#note-16:
残る作業は既存の docker コンテナ群を proxy cache から取ってくるようにする作業で、2つの選択肢がある。
- compose.yaml 等のイメージ名をキャッシュサーバを参照するよう書き換える。または、
- Docker と docker compose を使っているところを Podman と podman-compose などに移行し、 Podman の設定で透過的にキャッシュサーバを使わせる。
個人的には後者に挑戦してみたいところだが、失敗しづらいのは前者だろうと思う。
少し podman-compose まわりも調べてみるべきか。
例のごとく Debian の stable だとバージョンが古めであることも含めて確認する必要がある。
どうせ podman にするなら rootless あるいは daemonless にしたい。
ホスト側は ansible で管理しているからユーザを作るのも簡単だ。
Ryot を podman-compose で動かそうとしたが、普通に無理だった。
Postgres への connection pool の作成に Ryot が失敗していそうなログが出ていたのと、compose.yaml で internal なネットワークをひとつとデフォルトネットワークを明示してひとつ作っているという暗黙のデフォルトでない構成なので、引っ掛かっているとするとネットワークまわりが最初に疑われるのだが、詳しいことはわからない。
podman-compose ではなく docker-compose (v1.x) と podman daemon を使ってみても同じような結果になった。
何もわからん。
linkding は単体のコンテナしか動かしていないので普通に移行できた。
できたが、どうせ volume の指定くらいしかしないのだからそもそも compose.yaml を使うのをやめるべきな気はしている。
しかし後から必要なコンテナが増えたりすると面倒なのでひとまずは現状のままで……
- 進捗率 を 0 から 10 に変更
- 前回確認日 を 2024/08/01 から 2024/08/03 に変更
NetBox も Docker でやっているが、コンテナ数が多いのと、ネットワーク構成は暗黙ながら何かで躓くとネットワーク管理に支障を来しかねないので、移行は保留しておく。
(今のところ podman-compose をそこまで信用できない。)
Harbor もいろいろ安心できない状況だが (たとえば LXC コンテナ再起動後にうまく動いていないように見えるとか)、結構コンテナ数が多いのと、そもそもこれを Podman にしてもキャッシュサーバを自分自身にするわけにもいかず移行で得るものがあまりなさそうなので、これも移行しない。
Podman に移行できるサービスがもうないので終了。
結局 linkding (と Woodpecker CI の agent) しか移行していない。
- 関連している 機能 #576: Docker レジストリの pull-through cache proxy を Harbor 以外へ移行する を追加
他の形式にエクスポート: Atom
PDF