Spegel for p2p docker registries in k3s

Ellie Huxtable

在 k3s 中使用 Spegel 實現 p2p Docker Registry

spegel

我最近為了執行 Atuin 而架設了一個新的 k3s 叢集。自從我寫了關於這個主題的上一篇筆記以來,已經有一些改變!

我確實需要為這篇文章寫一個 v2 版本,不過在這段期間,我稍微了解了一下 Spegel,這是 k3s 內建的可選 integrated registry(整合式倉庫)。

如果伺服器節點是以 --embedded-registry 啟動,它們就會建置並執行 Spegel registry。這表示它們會在連接埠 6443 上託管本機 OCI registry,同時透過連接埠 5001 連線到 p2p network(點對點網路)。

要讓 upstream registry mirroring(上游倉庫鏡像)正常運作,你必須編輯 /etc/rancher/k3s/registries.yaml

例如:

mirrors:
  docker.io:
  registry.k8s.io:

這樣就能啟用這兩個 registry 的鏡像。此檔案會在啟動時讀取。你可以使用 "*": 來啟用 wildcard mirroring(萬用字元鏡像),必須加上引號。

p2p routing 的運作方式與 BitTorrent 非常相似——Spegel 也使用 Kademlia DHT(Kademlia 分散式雜湊表)來解析 digests(摘要)。

gif 取自 spegel readme

原文由 Ellie Huxtable 發布

本文章由 muse-spark-1.2-contributor 進行翻譯