機能 #98
完了自宅クラスタ (chuable, feng) 用の Docker レジストリの整備
100%
説明
- Proxmox VE クラスタ (chuable)
- docker (compose) 直接利用を想定。
- Kubernetes クラスタ (feng)
-
Talos Linux で一応構築済- 未使用につき現在停止中。たぶん次に使いたくなったら作り直すと思う
- control plane はすべて VM で、 nagisa (Proxmox VE), sakuno (Proxmox VE), yonagi (Synology DiskStation) 上に分散している
- 正直 I/O が激しそうで HDD をサスペンドできなくなっている気がするので、 DiskStation に置いておくのもあまり嬉しくないが……
-
Harbor が気になっているが、 chuable 上の VM にベアメタルで立てるのと feng に立てるのどちらが良いだろうか?
nop_thread さんが6ヶ月前に更新
- 説明 を更新 (差分)
起票時点から状況が変化しており、今は k8s クラスタを動かしていない。そして Proxmox VE の物理ノードが3台あるのでそちらで “ちゃんとした” HA が機能している。
nop_thread さんが5ヶ月前に更新 · 編集済み
-
Setup Harbor with Let's Encrypt | by Cedric Hopf | The Startup
- certbot の証明書を使わせるにはフックの機構を使って自分でスクリプトを用意してやることになるらしい。
EDIT(2024-08-01): Caddy を reverse proxy にして TLS termination したら何事もなくいけた。
nop_thread さんが5ヶ月前に更新
-
Deploy Harbor image repository on NFS share - problem · Issue #13209 · goharbor/harbor
- NFS にイメージを置くにも一工夫必要か?
nop_thread さんが4ヶ月前に更新
Hardware¶
The following table lists the minimum and recommended hardware configurations for deploying Harbor.
Resource Minimum Recommended CPU 2 CPU 4 CPU Mem 4 GB 8 GB Disk 40 GB 160 GB
重い……ストレージが特に重い。
nop_thread さんが4ヶ月前に更新
- ステータス を 新規 から 進行中 に変更
- 優先度 を 低め から 通常 に変更
- 進捗率 を 0 から 30 に変更
ストレージは MinIO とかに逃がせそうだった。
とりあえず立ててはみたが動作確認はこれから。
nop_thread さんが4ヶ月前に更新
https://mastodon.cardina1.red/@lo48576/112882315250471147
どうやら透過的キャッシュプロキシ (ミラー) の利用は Docker だと Docker Hub のミラーしか設定できないらしい。
quay.io とかから pull するイメージはプロキシを経由してくれなそう。
Woodpecker とかは workflow 定義におけるイメージ指定を弄りたくないので、 Docker Hub のキャッシュをしてくれるだけでもマシと割り切って使うしかない。
kagamidai 向けサービスのコンテナについては明示的に harbor のイメージを指すようにするのがよさそう。
単一障害点になるが……まあ仕方あるまい。
DNS を弄ってプロキシに URL を書き換えさせて云々という手も考えないではなかったが、そこまで複雑にしたくはない。
どうせイメージの名前を書き換えるだけなら ansible の roles を弄って play すれば反映できるし、 harbor まわりが故障しても他サービスを復旧させるのはそこまで難しくないだろう。
nop_thread さんが4ヶ月前に更新
- 進捗率 を 30 から 60 に変更
https://mastodon.cardina1.red/@lo48576/112883069961270114
Woodpecker CI の agent に (Docker の代わりに) Podman を使わせることで、 Harbor のキャッシュレジストリを透過的に使わせることに成功した。
nop_thread さんが4ヶ月前に更新
残る作業は既存の docker コンテナ群を proxy cache から取ってくるようにする作業で、2つの選択肢がある。
- compose.yaml 等のイメージ名をキャッシュサーバを参照するよう書き換える。または、
- Docker と docker compose を使っているところを Podman と podman-compose などに移行し、 Podman の設定で透過的にキャッシュサーバを使わせる。
個人的には後者に挑戦してみたいところだが、失敗しづらいのは前者だろうと思う。
少し podman-compose まわりも調べてみるべきか。
例のごとく Debian の stable だとバージョンが古めであることも含めて確認する必要がある。
nop_thread さんが4ヶ月前に更新
MinIO のストレージは 4 GiB だとあっという間に quota exceeded になってしまったので、 16 GiB にしてみている。
GC のスケジュール等はいずれ最適化する必要がありそう。
nop_thread さんが4ヶ月前に更新
- ステータス を 進行中 から 終了 に変更
- 進捗率 を 60 から 100 に変更
nop_thread さんは #note-16 で書きました:
残る作業は既存の docker コンテナ群を proxy cache から取ってくるようにする作業で、2つの選択肢がある。
機能 #444: 各種 Docker ホストに Harbor のキャッシュを利用させる を起票した。
こちらは完了ということで閉じる。