遠端 Mac上的 Helm CI 常同時打 oci:// 與 Chart 儲存庫;跨境場景下,瓶頸多在429/401併發 install,而非模板本身。下文為決策矩陣與指令示例;延伸:部落格列表GHCR 矩陣構建池 FAQ首頁

場景與風險

典型流程:helm pull oci:// 後再 helm upgrade --install;混用 HTTP Chart 庫時 401/429/TLS 訊息易混淆。

  • 逾時/卡住:跨境 RTT 與多層 blob;疊加高併發 install 時共享節點易排隊。
  • 429:WAF/Registry 限速;硬重試忽略 Retry-After 會與登入刷新互搶。
  • 401/403:權杖過期、scope 不足,或 login host 與 oci:// 主機不一致。
  • x509/plain-http:企業 CA 未信任;--plain-http 僅限內網 HTTP registry,勿在公網 CI 預設開啟。

決策矩陣(併發、--plain-http、認證、退避)

決策矩陣
維度建議起點決策備註
併發 install/upgrade共享:1–2;專用:2–4與 pull 錯開;429 先降併發
--plain-http預設;僅內網 HTTP 加旗標CI 註解標記,防誤用公網
認證/輪換短期權杖覆蓋最長 job+10–15 分;唯讀機器人12–24 h輪替拉取前集中 login;避免同秒多 job 刷新
429 退避(秒)10+jitter20→40→80,頂300Retry-After 優先wrapper 記錄狀態碼
5xx/重置(秒)2–4+jitter8→16→32,頂120;最多5–7暫態過載;設上限
快取固定 HELM_CACHE_HOME;空間約 18–20% 警戒與容器暫存同卷一併看

可執行清單(login、helm pull oci://、環境變數)

1

登入:REGISTRY_HOST 須與 oci:// 一致;權杖走 stdin。

2

拉取:helm pull 固定版再 install,減少重複請求。

3

併發:用 CI 變數或隊列限制同機平行 helm 步驟。

export HELM_CACHE_HOME="${CI_WORKSPACE:-$HOME}/.cache/helm"
export HELM_CONFIG_HOME="${CI_WORKSPACE:-$HOME}/.config/helm"
echo "$REGISTRY_TOKEN" | helm registry login "$REGISTRY_HOST" --username "$REGISTRY_USER" --password-stdin
helm pull oci://$REGISTRY_HOST/$CHART_REPO_PATH --version 1.2.3
# 內網 HTTP:helm pull oci://registry.local/ns/chart --version 1.0.0 --plain-http
# 重試:for i in 1 2 3 4 5; do helm pull oci://... && break || sleep $((2**i)); done

同機併發可用 flock/隊列;代理見 跨境對照

FAQ

429:尊重 Retry-After;降 install 併發;單一登入步驟避免刷新風暴。

401/403:login host=oci:// 主機;檢 scope 與長 job 權杖過期。

x509:安裝企業 CA;勿長期關閉驗證;以最小 helm pull 驗證。

總結引導購買

要穩定拉取:分開429/5xx 退避、對齊權杖與 oci 主機、節流併發 install。選節點時:共享池先保守併發與快取路徑;需可重現延遲樣本可選專用 Apple Silicon定價購買說明中心部落格首頁皆免登入。

總結:矩陣固定併發/退避;login 與 oci:// 對齊減 401;HELM_CACHE_HOME 與水位避免誤判。頁首含 BlogPostingBreadcrumbListFAQPage

遠端 Mac × Helm CI

選配節點驗證你的 OCI Chart 拉取矩陣

免登入即可查看定價與購買;說明中心提供連線與環境要點。