【回顧】K8S 鏡像拉取速度慢?看這里
共 1409字,需瀏覽 3分鐘
·
2024-06-13 19:30
大家好,又見面了,我是 GitHub 精選君!
背景介紹
在使用 Kubernetes 的過程中,每個節(jié)點在啟動前都需要拉取工作負(fù)載的鏡像,而運行在每個節(jié)點上的每個工作負(fù)載的副本都將會產(chǎn)生一個類似的鏡像拉取操作。而這些鏡像無論是從地理范圍內(nèi)靠近的云鏡像服務(wù)還是公共的鏡像服務(wù),或自搭建的私有鏡像服務(wù),鏡像的拉取都存在一定的跨網(wǎng)絡(luò)訪問的開銷,會直接影響工作負(fù)載的啟動速度,同時也增加了各節(jié)點之間的網(wǎng)絡(luò)壓力。
今天要給大家推薦一個 GitHub 開源項目 spegel,該項目在 GitHub 有差不多 1000 Star,用一句話介紹該項目就是:“Stateless cluster local OCI registry mirror.”。以下是新的工作方式的示例:
項目介紹
Spegel,瑞典語中的“鏡子”,作為一個無狀態(tài)的集群本地 OCI 注冊表鏡像,解決了以上問題。Spegel 的主要功能是允許 Kubernetes 集群中的每個節(jié)點充當(dāng)本地注冊表鏡像,這樣節(jié)點之間就可以共享鏡像。任何一個節(jié)點已經(jīng)拉取的圖像,其他節(jié)點都可以直接拉取。這樣既能夠減少工作負(fù)載啟動時間,又減少了出口流量,因為鏡像將存儲在本地集群中。另外,即使外部鏡像服務(wù)關(guān)閉或故障,新創(chuàng)建的工作負(fù)載也能夠繼續(xù)被拉取到,提升了集群的容災(zāi)能力。
如何使用
在安裝 Spegel 之前,你可以先查看項目中的兼容性指南(./docs/COMPATIBILITY.md)
確認(rèn) Spegel 適用于你的 Kubernetes 集群。如果一切正常,最方便的部署 Spegel 的方式就是使用 Helm。
helm upgrade --create-namespace --namespace spegel --install --version v0.0.16 spegel oci://ghcr.io/xenitab/helm-charts/spegel
想了解更多細(xì)節(jié)的配置文件,可以參考 Helm Chart(./charts/spegel)。
項目推介
無論是你想要從本地緩存鏡像,還是抵抗外部鏡像服務(wù)停工時的集群失敗,或者是避免從外部鏡像服務(wù)拉取圖像時的頻繁限制,甚至在邊緣節(jié)點部署時提高鏡像拉取的效率,Spegel 都是你可以嘗試的方案。
以下是該項目 Star 趨勢圖(代表項目的活躍程度):
更多項目詳情請查看如下鏈接。
開源項目地址:https://github.com/XenitAB/spegel
開源項目作者:XenitAB
以下是參與項目建設(shè)的所有成員:
關(guān)注我們,一起探索有意思的開源項目。
點擊如下卡片后臺回復(fù):加群,與技術(shù)極客們一起交流人工智能、開源項目,一起成長。如果你正在尋求開源項目推廣、DevOps、AIGC 大模型、軟件開發(fā)等領(lǐng)域的付費服務(wù),可參考推文了解詳情。
